C语言--求100与10000之间各位数的和等于5,用numder来验证的程序?

跪求!

学校需要!
C语言--求100与10000之间各位数的和等于5,有多少个整数?(用函数numder来验证)

"用numder验证"是指要写一个函数numder用来判断某个数是否符合各位数之和5吗? 如果是就用第二个有函数调用的程序. 如果是用numder计算100到10000之间的所有整数是否满足条件,用第三个程序,其实都差不多的,关键是看对numder的要求,需要传什么参数,只有这样了,看可行?
#include <stdio.h>
void main(){
int s,a,he,count=0;
for(int i=100;i<10000;i++){
s=i;he=0;
while(s!=0){
a=s%10;
s=s/10;
he+=a;
}
if(he==5){
count++;
printf("%d的各位数之和为5\n",i);
}
}
printf("100到10000之间共有%d个各位数之和为5的数.\n",count);
}

程序2
#include <stdio.h>
bool numder(int s){ //验证整数s的各位之和是否为5,是则返回true
int a,he=0;
while(s!=0){
a=s%10;
s=s/10;
he+=a;
}
if(he==5)
return true;
return false;

}
void main(){
int count=0;
for(int i=100;i<10000;i++){
if(numder(i)){
count++;
printf("%d 的各位数之和为5\n",i);
}
}
printf("100到10000之间共有%d个各位数之和为5的数.\n",count);
}

第三个程序:
#include <stdio.h>
int numder(int from,int to){ //计算from到to之间(包括from和to)的所有满足各位数之和为5的整数个数。
int s,a,he,count=0;
for(int i=from;i<=to;i++){
s=i;he=0;
while(s!=0){
a=s%10;
s=s/10;
he+=a;
}
if(he==5){
count++;
printf("%d的各位数之和为5\n",i);
}
}
return count;
}
void main(){
int count=0,a=100,b=10000;
count=numder(a,b);
printf("100到10000之间共有%d个各位数之和为5的数.\n",count);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-06-23
在c++编译器上运行过的,你看看是不是要这样的程序?
--------------------------------------------------------
#include<stdio.h>
void main()
{
int i,k,b,c,e,d,m;
d=0;
printf("以下数字的各个位的和等于五:\n");
for(i=100;i<=10000;i++)
{
if(i<=999)
{
m=i;

for(k=1;k<=3;k++)
{
b=(int)(m/10);
c=b*10;
e=m-c;
d=d+e;
m=b;
}

}
else if(i<=9999)
{
m=i;
for(k=1;k<=4;k++)
{
b=(int)(m/10);
c=b*10;
e=m-c;
d=d+e;
m=b;

}

}
else

{
m=i;
for(k=1;k<=5;k++)
{
b=(int)(m/10);
c=b*10;
e=m-c;
d=d+e;
m=b;

}

}

if(d==5)
printf("%d=%d\n",i,d);

d=0;

}

}

用C语言求100-50000之间的整数中各位数之和为5,我那里出错了,求赐教...
include<stdio.h>int main(){ int s,a,b,c,d,e,t; for(s=100;s<=50000;s++) {\/\/<--- a=s\/10000; b=(s-a*10000)\/1000; c=(s-a*10000-b*1000)\/100; d=(s-a*10000-b*1000-c*100)\/10; e=s-a*10000-b*1000-c*100-d*10; t=a+b+d+c+e;\/\/<--- ...

用c语言编写 输出1000到10000之间所有整数的各位数字之和等于5的数
include <stdio.h>int getS(int n){ int s = 0; while (n){ s += n%10; n \/= 10; } return s;}int main(){ int i, s; for (i = 1000; i <= 10000; ++i){ s = getS(i); if (s==5){ printf ("%d\\n", i); } } ...

求100到10000的第50个质数并输出它c语言编程
\/\/不知道你题目描述的是不是这个意思,求 各个位数的数字之和为35的... 一下仅作参考 #include int sum(int n) \/\/计算数字n(10000以内)各个位数之和 { int a,b,c,d; \/\/分别表示各个位数 d = n%10; c = (n\/10)%10; b = (n\/100)%10; a = (n\/1000)%...

c语言程序:求1~10000之间所有其个位数的立方和等于该数的(用while这 ...
在循环中将各个数字中各个位置的数截取出来 然后进行计算即可 如果代码不想自己写的话 我可以有偿代劳

求一个C语言的求平均值的程序
我原来写的求平均分的小程序 给你吧 include<stdio.h> void main(){ int m,i;float a[100],sum=0.0;while(1){ printf("请输入你要计算多少个数的平均分?按'0'退出程序:\\n");scanf("%d",&m);if(m==0) break;printf("\\n");printf("请分别输入每个数,数与数之间用回车或...

我用c语言写了一个题目,就是求1到10000以内的完数个数和,不知道代码哪...
在两个for之间加一句sum=0;。

c语言求1到10000之间所有满足各位数字的立方和等于他本身的数,要求定义...
include<stdio.h> int is(int n){int s=0,t,k;k=n;while(n){t=n%10;n\/=10;s+=t*t*t;} return s==k;} int main(){int i;for(i=1;i<10001;i++)if(is(i))printf("%d\\n",i);return 0;}

求用C语言产生10000个五位的随机数?求程序
下面程序代码可以实现你的需要0~999随机数。望采纳。include include include int random(){ int intrand;intrand = rand()%999 + 0;return intrand;} void main(){ srand(time(0));printf("%d\\n",random());}

C语言编程:求1-10000之间的完全数
\/\/求完全数 #include<stdio.h>int sum1(int n){int s=1,i; for(i=2;i<=n\/2;i++) if(n%i==0)s+=i; return s; }int main(){ int i,j; for(i=2;i<10000;i++) if(sum1(i)==i) {printf("%d=1",i); for(j=2;j<=i\/2;j++) if(i%j==0...

C语言,查从 100到 10000之间所有位上都相同的所有数,111,9999这种,最后...
你的程序与题目要求完全无关,符合题目的程序可以这样写:include <stdio.h> int f(int n){\/*数字n位相同数字的整数,返回总的个数*\/ int i,j,x=0;for (i=1;i<=9;i++){for (j=1;j<=n;j++) printf("%d",i);printf("\\n");x++;} return x;} void main(){\/*主程序*\/ ...

相似回答
大家正在搜