主题:[讨论]刚学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				
				说的好……我错了,小错误真多啊
							 
									
			
我来回复