LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 735|回复: 3

代码如何纠正,在for循环中

[复制链接]
发表于 2006-6-3 01:07:57 | 显示全部楼层 |阅读模式
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4. //声明函数
  5. int primt(int i);
  6. int main(){
  7. int i,n;
  8.     for(i=2;i<=20;i=++){
  9.           n=i;
  10.           primt(n);
  11.             }
  12.         if(primt(n))
  13.          cout<<n<<" -The number is prime.\n";
  14.         else
  15.          cout<<n<<"-The number is not prime.\n";
  16. return 0;
  17. }
  18. //定义函数
  19. int primt(int n){
  20.   int i;
  21.    for(i=2;i<=sqrt(double(n));i++){
  22.     if (n%i==0)
  23.     return false;
  24.    }
  25. return true;
  26. }
复制代码
目的是为了依次打印 2-20分别是否为质数。编译中提示在int main()中的for一行中有误,请问高手该如何改正?
发表于 2006-6-3 01:57:43 | 显示全部楼层
i=++ 应该是 i++
还有你的程序在逻辑上有错误, if 语句应该放在 for 循环中
还有就是定义两个变量 n 和 i 没有必要吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-3 10:32:04 | 显示全部楼层
Post by zlbruce
i=++ 应该是 i++
还有你的程序在逻辑上有错误, if 语句应该放在 for 循环中
还有就是定义两个变量 n 和 i 没有必要吧。

我开始定义一个变量,多时找不到原因乱改一气,多定义了变量n,.并把
if 语句放在 for 循环外。就是没有想到i++会写错,也没有仔细看这一点。
实在是太粗心了。
十分感激[size=+1]zlbruce的指点。
回复 支持 反对

使用道具 举报

发表于 2006-6-3 12:38:48 | 显示全部楼层
我彻底被你打败了
回复 支持 反对

使用道具 举报

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

本版积分规则

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