请问这段C语言程序是什麽意思,求详细解

#include<stdio.h>

void main()
{
int a,b,c,s,i;
for(i=100;i<=1000;i=i+5)
{
a=i%10;
b=i/10%10;
c=i/100;
s=a+b+c;
if ((s==9)&&(i%5==0))
{
printf("%d ",i);
}
}

}

第1个回答  2018-10-17
循环为i是从100~1000间隔为5的三位数
a是取i的个位 (对10取余等于个位数) b取i的十位 c取i的百位
所以s为i的个十百位数的和 比如i = 125 那么s = 1 + 2 + 5 = 8
判断语句为当s = 9 且 i 能被5整除时打印i的值
这里i由于间隔为5 必定能被5整除 我认为第二个判断条件无意义
整体含义就是在100~1000内打印个十百位数相加等于9 且能被5整除的数 例如180 630追问

谢谢

第2个回答  2018-10-17
#include<stdio.h>
main()
{
    int a,b,c,s,i;//定义变量 
    for(i=100;i<=1000;i=i+5){//开始循环从100到1000,每次变化5个 
     a=i%10;//求i的个位 
b=i/10%10;//求i的十位 
c=i/100;//求i的百位 
s=a+b+c;//求个位,十位,百位相加的和 
    if ((s==9)&&(i%5==0)){//和等于9,且i除以5的余数为0 
        printf("%d ",i);//输出i 
    }
    }
}//&&(i%5==0)这句没有用,因为i从100开始,每次变化5,因此i的每个取值除以5的余数都为0,所以这个判断没用

望采纳。。。。。。

追问

谢谢

谢谢

本回答被网友采纳
相似回答