一、C语言学习
1.pow函数
用法:pow(底数,指数) 例子:pow(x,2)=x²
2.abs函数
用法:abs(n) 取n的绝对值
3.strstr函数:
搜索字符串1是否在字符串2中出现,若未搜索到,则返回NULL;若搜索到,则该函数返回第一次出现s2的地址。
4.strcpy函数:用法:strcpy(字符串1,字符串2); strcpy函数将字符串2复制到字符串1中。
5.strcat函数:将两个字符串连接。
6.strcmp函数:
用法:strcmp(数组1,数组2); 将数组1指向的字符串与数组2指向的字符串比较,比较的是各个字符的ASCII值。若字符串1>字符串2,返回值为正数;若等于,返回0;若小于,返回负数。
7.7-37 整数分解为若干项之和
将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。
输入格式:
每个输入包含一个测试用例,即正整数N (0<N≤30)。
输入样例:
7
输出样例:
7=1+1+1+1+1+1+1;7=1+1+1+1+1+2;7=1+1+1+1+3;7=1+1+1+2+2
7=1+1+1+4;7=1+1+2+3;7=1+1+5;7=1+2+2+2
7=1+2+4;7=1+3+3;7=1+6;7=2+2+3
7=2+5;7=3+4;7=7
答案:
include<stdio.h>
int N,i,j;
int a[31];
int top=-1;
int count=0;
int sum=0;
void f(int i){
if(sumN){
count++;
printf("%d=",N);
for(int k=0;k<top;k++){
printf("%d+",a[k]);
}
if(count%40||a[top]==N){
printf("%d\n",a[top]);
}
else{
printf("%d;",a[top]);
}
return;
}
else if(sum>N){
return;
}
for(int j=i;j<=N;j++){
a[++top]=j;//top++不能作为左值,所以是++top
sum+=j;
f(j);//让a[]数组里的数字不取小数字
sum-=j;/使数组的最大项逐层递减,并且一直寻找合适数字/
top--;
}
}
int main(){
scanf("%d",&N);
f(1);
return 0;
}
二、Java学习
1.Java具有跨平台性和可移植性,是一种面向对象的编程语言。
2.Java编写HelloWorld源程序:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
对以上代码的解析:
a.public修饰符用于限定类或类成员的访问级别
b.class关键字用于定义类,该类的标识符 是 HelloWorld
c.HelloWorld 类被public修饰,应在名为HelloWorld.java的文件中声明
d.类标识符后紧跟一对大括号,类成员一般定义在这对大括号中,例如实例成员或者静态成员
e.static关键字用于声明静态成员,这里定义的是一个静态函数,标识符是main
f.main函数是Java程序的主入口函数
g.函数标识符后紧跟一对小括号,形式参数一般定义在这对小括号中,这些形式参数在程序运行时可用于接受来自外部传入的实际参数
h.String关键字用于定义字符串类型的变量
i.String[]用于定义字符串类型的数组,该数组的标识符是args
j.该源程序中的main函数的函数签名是:public static void main(String[] args)
k.在函数签名后紧跟一堆大括号,代码块一般定义在这对大括号中,大括号(包括大括号本身)内的所有代码的集合被称之为函数体
l.一个完整的函数成员是由函数签名和函数体组成
m.System 是来自java.lang包下的一个类
n.out是System类的一个静态成员,它是java.io包下PrintStream类的实例
o.println是out提供的一个实例成员,而且是函数成员
p.访问静态成员的语法是:类名.成员名; 访问实例成员的语法是:实例名.成员名
编译和执行:
在源程序所在目录下(通过路径)执行如下命令可进行编译:
javac HelloWorld.java
编译后,会产生一个.class文件,使用如下命令可将该字节码文件通过 JVM 解释给计算机并执行
java HelloWorld