//思路:求每一项,判断位数,倒序输出int x, y, a, b, c, d;printf("输入一个小于5位的正整数:");scanf("%d",&x);
a = x /1000;
b = x %1000/100;
c = x %100/10;
d = x %10;if(a==0&& b!=0){printf("%d%d%d\n", d, c, b);}elseif(a==0&& b==0& c!=0){printf("%d%d\n", d, c);}elseif(a==0&& b==0& c==0){printf("%d\n", d);}else{printf("%d%d%d%d\n", d, c, b, a);}
求2/1+3/2+5/3+8/5+13/8+…前20项之和
//思路:递归和递推double a =2, b =1, c =3, d =2, e, f;int i =1;double x, s;while(i<=20){
x = a/b;
e = a + c;
f = b + d;
a = c;
b = d;
c = e;
d = f;
s = s + x;
i++;}printf("前20项之和位:%f\n", s);
for 循环
for(初始值; 判断; 判断量改变时){
循环体
}//每个花括号被称作一个块
for循环内创造的变量会在循环一次后销毁,到第二次循环再重新创建
子块可以用父块的变量
当子块创建了与父块同名的变量时,父块变量会被遮蔽
父块不可使用子块中创建的变量
子块执行结束后,子块中创建的变量都会被销毁
return语句
在需要有返回值的函数中,必须执行"return 值; "
在不需要有返回值的函数中(void),执行"return; ",这条语句不是必要的
只要执行return语句,函数就立即执行结束
//如何调用取得子函数中的值intf1(int a);intmain(){int a =20;int b =f1(a);printf("a = %d, b = %d\n", a, b);return0;}intf1(int a){
a = a * a;return a;}//结果;a = 20, b = 400
break语句
break;//switch中执行break,结束switch//break用在while, do while, for中,结束当前循环
continue语句
continue;//只能用在循环中,包括while, do while, for//结束当前循环,开始下一次循环