急求一道C语言题 以每行5个数来输出100以内能被3或13整除的奇数,并求出其和

如题所述

main()
{
int i,count,sum;
for(i=1,count=0,sum=0;i<100;i++)
if(i%3==0||i%13==0)
{
printf("%d",i);
if(++count%5==0)printf("\n");
else printf("\t");
sum+=i;
}
printf("\n共 %d 个数字,和为 %d 。\n",count,sum);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-17
#include<stdio.h>
void main() { int i,n,s;
  for ( n=s=0,i=1;i<100;i+=2 )
    if ( i%3==0 || i%13==0 ) {
      printf("%d ",i); s+=i; n++; if ( n%5==4 ) printf("\n");
    }
  printf("\n%d\n",s);
}

追问

请问i,n,s分别代表什么?

追答

n记录已经输出了几个数,也是可以计算每5个数换行的依据
s求和,满足条件数的和
i从1开始计数,每次循环加2,则每次循环i值取值为:1,3,5,7,9,...,99为单数序列通过给前一个单数加2得到(循环采用i+=2计算)

本回答被提问者采纳
第2个回答  2019-01-17
#include <stdio.h>

int main()
{
    int i, j = 0, sum = 0;
    for(i=0; i<101; i++)
    {
        if(i%3 == 0 || i%13 == 0)
        {
            printf("%d ",i);
            j++;
            sum += i;
        }
        if(j == 5)
        {
                j = 0;
            printf("\n");
        }
    }
    printf("\n");
    printf("sum = %d\n", sum);
    
    return 0;
}