| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 970 人关注过本帖
标题:简单的程序但不知道错误在那里?
只看楼主 加入收藏
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
 问题点数:0 回复次数:13 
简单的程序但不知道错误在那里?
程序错误出在了那里
为何输出结果很慌渺
//1元钱兑换成成为1分,2分,5分每种至少一个,
//打印出所有可能的方式
#include<iostream>
using namespace std;
void main()
{
for(int i=1;i<100;++i)
for(int j=1;j<100;++j)
for(int k=1;k<100;++k)
if(i*1+j*2+k*5==100)
cout<<"1分"<<i<<' '<<"2分"<<j<<' '<<"5分"<<k<<' '<<endl;
}
搜索更多相关主题的帖子: void include color 
2007-02-26 20:15
deng1987
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-1-13
收藏
得分:0 
#include<iostream>
using namespace std;
int main()
{
int sum=0;
for(int i=1;i<=93;i++)
{
for(int j=1;j<=47;j++)
{
for(int k=1;k<=19;k++)
{
sum=i+j*2+k*5;
if(sum==100)
{
cout<<i<<"one cent"<<" "<<j<<"two cent"<<" "<<k<<"five cent"<<endl;
}
}
}
}
cin>>sum;
return 0;
}
2007-02-26 21:09
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
得分:0 
以下是引用deng1987在2007-2-26 21:09:58的发言:

#include<iostream>
using namespace std;
int main()
{
int sum=0;
for(int i=1;i<=93;i++)
{
for(int j=1;j<=47;j++)
{
for(int k=1;k<=19;k++)
{
sum=i+j*2+k*5;
if(sum==100)
{
cout<<i<<"one cent"<<" "<<j<<"two cent"<<" "<<k<<"five cent"<<endl;
}
}
}
}
cin>>sum;
return 0;
}

加了太多的括号,有定义了sum,使得程序的行数大大的增加,
使得阅读起来很困难!

我的程序本来很简单,你却将它搞的很复杂!就算对了,有太多的画蛇添足了


[此贴子已经被作者于2007-2-27 14:07:17编辑过]

2007-02-27 13:58
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
得分:0 

希望:
大家在我的原程序上指点以下:
2007-02-27 14:09
deng1987
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-1-13
收藏
得分:0 
这是好的编程习惯
2007-02-27 21:11
天下第二刀
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:157
专家分:0
注 册:2007-1-8
收藏
得分:0 
#include<iostream>
using namespace std;
int main()
{
int sum=0;
for(int i=1;i<=93;i++)
{
for(int j=1;j<=47;j++)
{
for(int k=1;k<=19;k++)
{
sum=i+j*2+k*5;
if(sum==100)
{
cout<<i<<"one cent"<<" "<<j<<"two cent"<<" "<<k<<"five cent"<<endl;
}
}
}
}

cin>>sum;
return 0;
}

这样看起来是不是好点

不知天堂有没有后门~~~
2007-02-27 22:00
天下第二刀
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:157
专家分:0
注 册:2007-1-8
收藏
得分:0 
晕,发上来括号都没对着了

不知天堂有没有后门~~~
2007-02-27 22:02
jels1087101
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-11-12
收藏
得分:0 
cout<<"1分"<<i<<' '<<"2分"<<j<<' '<<"5分"<<k<<' '<<endl;
这里的单引号应该变为双引号就对了
2007-02-27 23:34
fhqwfnh728
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-3-1
收藏
得分:0 
楼上正解
或者cout<<"1分"<<i<<" 2分"<<j<<" 5分"<<k<<endl;
空格加在" 2分"前面这里效果一样
2007-03-01 12:40
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
回复:(lixang)以下是引用deng1987在2007-2-26 21:0...

LZ,2楼的做法是正确的,他没有画蛇添足,反倒是你的程序做了很多无用功.
2,5各有一个,100-5-2=97,1分最多只有97个,2分同理最多只有47个,5分最多19个.
循环次数97*19*47,比你的100*100*100节约很多。

所谓的括号其实也没比你的多.


#include<iostream>
using namespace std;
int main()
{
for(int i=1;i<=93;i++)
for(int j=1;j<=47;j++)
for(int k=1;k<=19;k++)
if(i+j*2+k*5==100)
cout<<i<<\"one cent\"<<\" \"<<j<<\"two cent\"<<\" \"<<k<<\"five cent\"<<endl;
system(\"pause\")
return 0;
}


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-02 23:13
快速回复:简单的程序但不知道错误在那里?
数据加载中...
 
   



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

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