设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1218|回复: 5
打印 上一主题 下一主题

求教,初学者的一道简单题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 00:54:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求教,初学者的一道简单题
刚学初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;
}
这个程序的问题在哪里?
谢谢指导!
2#
发表于 2009-11-4 00:54:35 | 只看该作者
break就跳出整个循环了,
用continue,跳出本次循环,进入下一次
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-4 00:54:36 | 只看该作者
{
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;
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-4 00:54:38 | 只看该作者
#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;
}
不知道是不是这个意思!
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-4 00:54:39 | 只看该作者
针对本题
#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;
}
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-4 00:54:40 | 只看该作者
以下是引用喝茶的小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啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 21:24 , Processed in 0.076875 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表