for语句
#include<stdio.h>#include<math.h>int main(){ int i,s,a; int num=0; for (i=1;i<=365;i++) { s=0; int j=i; while (j) { s+=j%10; j/=10; }
a=s%2; if (a==0) { printf("i:%d is even/n",i); } else { printf("i:%d is odd/n",i); num++; }
}
printf("num : %d/n",num);
return num; }
用for语句的时候要注意到for语句的执行如
在for(表达式;表达式2;表达式3)语句它的执行过程如下:
一 先求表达式1
二 求表达式2,若其值为真(值为非零),则执行for语句中指定的内嵌语句,然后执行下面的的三步骤。若为假(值为零)则结束循环,转到第五步;
三 求解表达式三
四 转回上面的第二步继续执行
五 循环结束,执行for语句下面的一个语句。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。while语句
#include<stdio.h>#include<math.h>int main (){ int a,b,c; int num=0; a=1; while(a<=365)
{ b=0; int d=a; while (d) { b+=d%10; d/=10; }
c=b%2; if(c==0) { printf ("a:%d is even/n",a); }
else { printf ("a:%d is odd/n",a); num++; } a++; } printf("num is %d",num);
return 0;},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,do while 语句#include<stdio.h>#include<math.h>int main (){ int a,b,c; int num=0; a=1; do { b=0; int d=a; while (d) { b+=d%10; d/=10; }
c=b%2; if(c==0) { printf ("a:%d is even/n",a); }
else { printf ("a:%d is odd/n",a); num++; } a++; } while(a<=365); printf("num is %d",num);
return 0;}
while与do while语句要注意 如在while(表达式)语句
当表达式为非零值时,执行while语句中的内嵌语句
对于while和do while 二者可以相互的转换 不过二者的差别 也要注意的
在本题中应该注意到是如何将一个int数的各个数字相加 ,对于这个 ,已经在do while程序中用红色的标出 。这一点不限于这个题目 , 可以广泛的推广至一个未知数 要理解掌握的