找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 430|回复: 6

打靶的程序竟然不能执行

[复制链接]
发表于 2009-11-3 00:53:44 | 显示全部楼层 |阅读模式 IP:江苏扬州
说一下,我用的是 visual C++ 6.0

#include<iostream>
using namespace std;
int sum;
int store[10];
void Output()
{
for(int i=9;i>=0;--i)
{
cout<<store[i]<<endl;
}
cout<<endl;
++sum;
}
void Cumput(int score,int num)
{
if(score<0||score>(num+1)*10)
return;
if(num==0)
{
store[num]=score;
Output();
return;
}
for(int i=0;i<=10;++i)
{
store[num]=i;
Cumput(score-i,num-1);
}
}
int main(int argc,char*argv[])
{
Cumput(90,9);
cout<<"总数:"<<sum<<endl;
return 0;
}
发表于 2009-11-3 00:53:49 | 显示全部楼层 IP:江苏扬州
怎么不能运行?可以的么。
回复

使用道具 举报

发表于 2009-11-3 00:53:52 | 显示全部楼层 IP:江苏扬州
运行是可以运行,但输出的结果却是无限循环.....
for(int i=0;i<=10;++i)
{
store[num]=i;
Cumput(score-i,num-1);
}
貌似这里出问题,你自己改一下.
本人新手,不懂之处请见谅.
回复

使用道具 举报

发表于 2009-11-3 00:53:53 | 显示全部楼层 IP:江苏扬州
不会无限循环,下面两处有跳出。 不过循环里套递归可有点吓人

if(score<0||score>(num+1)*10)
return;
if(num==0)
{
store[num]=score;
Output();
return;
}
回复

使用道具 举报

发表于 2009-11-3 00:53:55 | 显示全部楼层 IP:江苏扬州
程序本身根本没有问题,只是输出的数据太多了,一下子输不完而已.下面的是我将OUTPUT函数里的输出注释了,一下子就得到了结果;

#include<iostream>
using namespace std;
int sum;
int store[10];
void Output()
{
/*for(int i=9;i>=0;--i)
{
cout<<store[i]<<endl;
}
cout<<endl;*/
++sum;
}
void Cumput(int score,int num)
{
if(score<0||score>(num+1)*10)
return;
if(num==0)
{
store[num]=score;
Output();
return;
}
for(int i=0;i<=10;++i)
{
store[num]=i;
Cumput(score-i,num-1);
}
}
int main(int argc,char*argv[])
{
Cumput(90,9);
cout<<"总数:"<<sum<<endl;
return 0;
}
回复

使用道具 举报

发表于 2009-11-3 00:53:57 | 显示全部楼层 IP:江苏扬州
谢谢各位
回复

使用道具 举报

发表于 2009-11-5 00:05:08 | 显示全部楼层 IP:上海大学
我十目一行也还是看不懂啊
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-10-1 07:41 , Processed in 0.257936 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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