标题:求教高手啊
只看楼主
surivering
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-3-5
 问题点数:0 回复次数:5 
求教高手啊

编一个程序,找出100以内的所有素数,每5个一行输出,要求通过调用函数来实现。 #include<iostream.h> int num(int x)//检查x是否是素数; {int y,z; for(y=2;y<=x/2;y++) {if(x%y==0) z=0; else z=1; return z;} void main() { int i,j,k,sum; int num(int); for(i=5;i<=100;i++) { k=num(i); if(k==1) sum++;//输出一个素数,计数器加1; cout<<i; if(sum%5==0)//每输出5个数字换行; cout<<"\n";}

} 这是我编的程序,可是不能编译通过,请高手帮我指点一下错在哪里啊?

搜索更多相关主题的帖子: include return 计数器 
2005-03-09 21:52
BlueDreame
Rank: 1
等 级:新手上路
帖 子:545
专家分:2
注 册:2004-12-16
得分:0 
else z = 1;
后面缺}
其他我不管了,不要吝啬{}。

2005-03-09 22:57
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
得分:0 

这个程序问题不小啊 首先就是BlueDreame说的‘}’的问题 要有好的书写习惯 才不会出现这样的问题 还有就是z的问题 我把他改了下 你自己在理解下 主函数中if函数体我也改动了一下 #include<iostream.h> int num(int x)//检查x是否是素数; { int y,z; for(y=2;y<=x/2;y++) { if(x%y!=0) z=1; else { z=0;break; } } return z; }

void main() { int i,k,sum; //这里多一个j // int num(int); //这一句我不知道是干什么的 我也不知道是不是需要或是错误 你问下别人 for(i=5;i<=100;i++) { k=num(i); if(k==1) { sum++;//输出一个素数,计数器加1; cout<<i<<"\t"; } if(sum%5==0)//每输出5个数字换行; cout<<"\n"; } } 实际上你在加了那个‘}’后 就可通过编译 但结果不对 你可以先运行看了结果再尝试我改的地方


动于心而静如水
2005-03-11 13:00
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
得分:0 
int num(int x)//检查x是否是素数;
{int y,z;
   for(y=2;y&lt;=x/2;y++)
   {if(x%y==0)
      z=0;
   else z=1;
   return z;}

这个函数有问题!帮你改一下:

int num(int x)//检查x是否是素数;
{int y,z=0;
   for(y=2;y&lt;=x/2;y++)
   if(x%y==0) break;
   if(y&gt;x/2) z=1;
   return z;
}

2005-03-14 10:14
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
得分:0 
哦  原来是调用函数   那为什么在调用的时候前面还加  int???
难道你们的编译器没有报错

动于心而静如水
2005-03-14 19:10
yywyai
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2004-12-9
得分:0 
原形声明用的
2005-03-30 11:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-13099-1-1.html




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

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