#include
main()
{
int Sum(int); //定义计算各位数字之和的函数//
int i,n=0;
for(i=10;i<=1000;i++)
{
if(Sum(i)==7) //调用计算各位数字之和的函数//
{
printf("%6d",i); //符合各位数字之和等于7,就把该数字输出//
n++; //统计符合条件的数字个数//
if(n%5==0) //输出数字的时候按照每行5个输出//
printf("\n");
}
}
printf("It have %d numbers from 10 to 1000,sum=7\n",n);
}
int Sum(int dat) //计算各位数字之和的函数//
{
int sum=0; //赋初值0//
while(dat>0) //直到dat不大于0时结束//
{
sum+=dat%10; //取个位数,加到和里//
dat/=10; //自除一次,去掉最后一位,重新把新数字计算//
}
return sum; //返回各位数字之和//
}
给你一个求各位数之和的函数,流程图这里画不了,程序很简单,思路很清晰,自己画图了。
int BitSum(int dat){ //计算各位数字之和
int sum = 0;
while(dat > 0){ //大于0时继续,否则结束
sum += dat % 10; //取个位数,加到和里
dat /= 10; //
}
return sum;
}
int main(){
int i, n = 0;
for(i = 10; i <= 1000; i++){
if(BitSum(i) == 7){
n++;
}
}
printf("%d", n);
return ;
}