在c语言环境下 如何计算1到365中,数字之和是奇数的数的个数 并把偶数的个数输出来

    技术2024-07-12  63

    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程序中用红色的标出 。这一点不限于这个题目 , 可以广泛的推广至一个未知数 要理解掌握的

    最新回复(0)