| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 508 人关注过本帖
标题:求教,初学者的一道简单题
只看楼主 加入收藏
喝茶的小k
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-7-27
收藏
 问题点数:0 回复次数:5 
求教,初学者的一道简单题
求教,初学者的一道简单题
刚学初c++,问个题
求100-1000之间各位数加起来等于5的数有多少个?
#include<iostream>

using namespace std;

void main()
{
int i,temp,n,y=0,number=0;
for(i=100;i<=1000;i++)
{
n=i%10;
if(n>5)
break;
n=(i/10)%10;
if(n>5)
break;
else
{
for(n=1;n<4;n++)
temp=i%10;
i=i/10;
y+=temp;
}
if(y==5)
number++;
}
cout<<number
<<endl;
}
这个程序的问题在哪里?
谢谢指导!



搜索更多相关主题的帖子: include number 
2006-11-03 12:41
lrf009
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-29
收藏
得分:0 
break就跳出整个循环了,
用continue,跳出本次循环,进入下一次
2006-11-03 13:13
litcatyx
Rank: 1
等 级:新手上路
威 望:1
帖 子:151
专家分:0
注 册:2006-10-27
收藏
得分:0 
{
for(n=1;n<4;n++)
temp=i%10;
i=i/10;
y+=temp;
}

==>
{
int num=i;
for(n=1;n<4;n++)
{
temp=num%10;
num=num/10;
y+=temp;
}
}

另外,最外层循环开始时加上y=0;

当然,break--->continue;

2006-11-03 13:32
lscmxl
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-6-12
收藏
得分:0 

#include<iostream.h>

void main()
{
int i,number=0;
for(i=100;i<1000;i++)
{
if(i/100+i%100/10+i%100%10==5)
{
cout<<i<<endl;
number++;
}
}
cout<<"总计个数:"<<number<<endl;
}
不知道是不是这个意思!

2006-11-03 16:56
hyram
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-27
收藏
得分:0 
针对本题
#include<iostream>
using namespace std;
int main(){
int num=0;
for(int i=1;i<=5;i++){
for(int j=0;j<=4;j++){
for(int k=0;k<=4;k++){
if(5==i+j+k)
num++;
}
}
}
cout << num;
return 0;
}

[此贴子已经被作者于2006-11-3 22:30:21编辑过]

2006-11-03 22:29
冰蓝色锋
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2006-10-30
收藏
得分:0 

以下是引用喝茶的小k在2006-11-3 12:41:35的发言:
{
for(n=1;n<4;n++)//这句话有用不?
temp=i%10;
i=i/10;
y+=temp;
}

可以直接用y = i%10 +i/10啊


2006-11-03 22:52
快速回复:求教,初学者的一道简单题
数据加载中...
 
   



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

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