主题:[讨论]刚学C++,有个程序不知道哪里错了,就是没输出结果
caomang
[专家分:150] 发布于 2010-05-04 10:45:00
RT……这个破问题烦了我很久了,一直没找出哪里有问题
#include<iostream.h>
void jfs(int n,int m,int s);
int main()
{int n;
int m;
int s;
cout<<"输入孩子的总数:";
cin>>n;
cout<<"输入起始孩子的号码:";
cin>>m;
cout<<"输入需要间隔的孩子个数:";
cin>>s;
void jsf(int n,int m,int s);
return 0;
}
void jsf(int n,int m,int s)
{int *boy=new int[n],*p;
int i;
int j=0;
for(i=0;i<n;i++) boy[i]=i+1;
for(i=0;i<n;i++)
cout<<boy[i];
p=boy+m-1;
for(i=1;j<=n;)
{if(*p!=0)
{ if(i=s)
{ cout<<*p;i=0;*p=0;j++;}
else i++;}
p++;
if(p>boy+n-1) p=boy;
}
delete [n]boy;
}
各位大神,帮忙看下啊,谢谢了
回复列表 (共26个回复)
沙发
caomang [专家分:150] 发布于 2010-05-04 16:41:00
来人帮忙啊,谢谢了
板凳
纯属爱好者 [专家分:40] 发布于 2010-05-04 17:16:00
void jfs(int n,int m,int s);你的这个函数可以说没用,因为你的这个函数一没有返回值,二没有打印相应的什么东西,三没有影响指针等等。所以你的这个程序没有达到目的!
3 楼
纯属爱好者 [专家分:40] 发布于 2010-05-04 17:20:00
而且很多地方都不对,你自己再慢慢看看!
4 楼
caomang [专家分:150] 发布于 2010-05-04 17:22:00
void类的函数没返回值的……我试过用int型,但是还是没输出。好像cout<<*p这句没被执行到
5 楼
纯属爱好者 [专家分:40] 发布于 2010-05-04 17:52:00
你的这个函数想完成什么??、
6 楼
纯属爱好者 [专家分:40] 发布于 2010-05-04 17:55:00
你的第一排是#include<iostream>这是C++里的,如果你写的是C++那么就要写“using namespace std;”如果是C语言那就是第一排错了那就是“#include<stdio.h>”
7 楼
caomang [专家分:150] 发布于 2010-05-04 19:48:00
c++里面写#include<iostream.h>是可以的
同样,也可以写成#include<iosteam>
using namespace std;
你应该也是新手吧……
8 楼
caomang [专家分:150] 发布于 2010-05-04 19:49:00
完成一个约瑟夫问题……用c编了,编对了,然后改用c++,没结果了
9 楼
雪光风剑 [专家分:27190] 发布于 2010-05-04 20:42:00
注意你的自定义函数里出现了这么个东西if(i=s)
不用我多说了吧
10 楼
caomang [专家分:150] 发布于 2010-05-04 23:01:00
说的好……我错了,小错误真多啊
我来回复