C语言--求100与10000之间各位数的和等于5的整数。(输出所有数,用函数numder来验证.)?

急求。
程序源码!
有积分!

第1个回答  2008-07-07
#include<stdio.h>
void main()
{
void numder();
numder();
}
void numder()
{
int i,n[5],k=0,sum;
for(i=101;i<=5000;i++)
{
sum=0;
if((100<i) && (i<=500))
{
n[0]=i/100;
n[1]=(i-n[0]*100)/10;
n[2]=i-n[0]*100-n[1]*10;
sum=n[0]+n[1]+n[2];
if(sum==5)
{
printf("%-10d",i);
k++;
if((k!=0) && (k%5==0))printf("\n");
}
}
else if((1004<=i) && (i<=5000))
{
n[0]=i/1000;
n[1]=(i-n[0]*1000)/100;
n[2]=(i-n[0]*1000-n[1]*100)/10;
n[3]=i-n[0]*1000-n[1]*100-n[2]*10;
sum=n[0]+n[1]+n[2]+n[3];
if(sum==5)
{
printf("%-10d",i);
k++;
if((k!=0) && (k%5==0))printf("\n");
}
}
}
printf("\n");
}

运行结果如下:
104 113 122 131 140
203 212 221 230 302
311 320 401 410 500
1004 1013 1022 1031 1040
1103 1112 1121 1130 1202
1211 1220 1301 1310 1400
2003 2012 2021 2030 2102
2111 2120 2201 2210 2300
3002 3011 3020 3101 3110
3200 4001 4010 4100 5000
第2个回答  2008-06-23
int number(int n)
{
int sum=0;
while(n>0)
{
sum+=n%10;
n=n/10;
}
return sum;
}

void main()
{
int i;
for(i=100;i<10000;i++)
{
if(number(i)==5)
printf("%d\n",i);
}
}本回答被网友采纳
相似回答
大家正在搜