#include
_Bool fun(int m)
{
int i = 0;
while(m)
{
i += m%10;
m /= 10;
}
if(i%7)
return 0;
return 1;
}
int main()
{
for(int i=100;i<=200;i++){
if(fun(i))printf("%d\n",i);
}
return 0;
}
扩展资料:
c语言写规则:
1、一个说明或一个语句占一行。
2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
百度百科-C语言
#include
int main()
{
int i,a,b,c,d;
for(i=100;i<=200;i++)
{
a=i/100;
b=i/10-a*10;
c=i-(i/10)*10;
d=(a+b+c)%7;
if(d==0)
printf("%d\n",i);
}
return 0;
}
好久不编程了,给你说下算法吧。
判断子程序:
只要求100-200之间所以m是一个三位数。
定义 a b c d sum yushu
先用m除以100取整数位为a,取余为b
用b除以10取整数为c,余数为d
然后sum=a+c+d
用sum除7取余为panduan
判断余数是否为0 yushu==0
跳转到1
否则跳转到0;
主程序:
简单循环i从100向后取到200
将i送子程序
若子程序运行结果为1则送i到数列A[]
若运行结果为0则跳回主程序继续执行
最后输出数列A[]就好了
思路就是这样,自己写吧
int sub(int m)
{
/************program*************/
int sum = 0;
while (m){
sum += m%10;
m/=10;
}
if (sum % 7 == 0)return 1;
else reutrn 0;
/**************end***************/
}
课本上有类似的,可以看着书编写,