| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 664 人关注过本帖
标题:[求助]怎么错了?
只看楼主 加入收藏
yinlenc
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-5-17
收藏
 问题点数:0 回复次数:11 
[求助]怎么错了?
计算 100 到 1000 间有多少个数其各位数字之和是 5?
#include<stdio.h>
main()
{
int a,b,c=0,sum=0;
for(a=100;a<1000;a++)
{
while (a)
{ b=a%10;
a=a/10;
sum=sum+b;

}
if(sum==5)
c=c+1;
}
printf("%d\n",c);
}
搜索更多相关主题的帖子: 多少 计算 include 
2007-06-20 09:38
hb2137
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-6-12
收藏
得分:0 
#include<stdio.h>

main()
{
int a,b,c=0,sum=0;
for(a=100;a<1000;a++)
{
int s=a;
while (s)
{
b=s%10;
s=s/10;
sum=sum+b;

}
if(sum==5)
c=c+1;
sum=0;
}
printf("%d\n",c);
return ;
}

2007-06-20 10:19
yinlenc
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-5-17
收藏
得分:0 
看了你编写的,对我收获很大的,小弟在这儿谢谢你了!

2007-06-20 10:45
小莳
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-6-17
收藏
得分:0 
可是为什么我运行改后的程序会出现下面的错误呢
'unable to open include file 'STDIO.H''
这个提示是什么意思啊
2007-06-20 11:20
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
以下是引用小莳在2007-6-20 11:20:36的发言:
可是为什么我运行改后的程序会出现下面的错误呢
'unable to open include file 'STDIO.H''
这个提示是什么意思啊

找不到头文件 'STDIO.H' 了, 你的编译器是不是有问题了?


人生重要的不是所站的位置,而是所朝的方向
2007-06-20 11:27
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 

我也做了一个, 不过运行效率可能更低.
#include <stdio.h>
#include <stdlib.h>

void main()
{
int i, j = 0;
int count = 0;
int sum = 0;
char *s = (char*)malloc(3 * sizeof(char));
for(i = 100; i < 1000; i++)
{
itoa(i, s, 10);
for(j = 0; j < 3; j++)
sum += (s[j] - '0');
if(sum == 5)
count++;
sum = 0;
}
printf("\n %d \n", count);
}


人生重要的不是所站的位置,而是所朝的方向
2007-06-20 11:28
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
5 0 0
4 1 0
3 2 0
3 1 1
2 2 1

这些组合.用回朔.
或者直接
for(i=1;i<=5;i++)
{
for(j=0;j<5;j++)
{
for(k=0;k<5;k++)
{
if( 5 == i+j+k )
{
t++; }
}
}
}
这样的比较也不过是5*5*5=125.效率提高了.
LZ:
while (a)
{ b=a%10;
a=a/10;
sum=sum+b;

}

这里已经修改了a的值,并且每次修改之后都为0,循环不能结束,导致死循环.再定义一个变量即可.k=a;



倚天照海花无数,流水高山心自知。
2007-06-20 13:32
yinlenc
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2007-5-17
收藏
得分:0 
是呀,a变为0后,就完成了对其的判断,就跳出了循环,再执行for++的语句,而我程序的问题在于sum 的值没有再sum=0;处理。

2007-06-20 15:14
zhao9302
Rank: 1
等 级:新手上路
帖 子:170
专家分:0
注 册:2007-5-10
收藏
得分:0 
对于4楼问题我觉得 是 TC设置有问题
在设置directory 的时候没有设置对Tc的路径


我要一步一步往上爬……
2007-06-21 01:20
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

四楼的问题是自己输入把头文件写成大写了吧?怎么都要说成是设置问题呢?头文件也分大小写.


深山苦学C语言,终年不见外面世界。
2007-06-21 03:08
快速回复:[求助]怎么错了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018118 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved