首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问一个简单的C++代码的异常

2012-02-09 
请教一个简单的C++代码的错误#includeiostreamusingnamespacestdvoidmain(){ intainti for(a2a 1

请教一个简单的C++代码的错误
#include   <iostream>
using   namespace   std;
void   main()  
{  
 int   a;
    int   i;
 for(a=2;a <=100;a++)  
  {    
   for(i=2;i <=a-1;i++)  
        {
      if   (a%i=0)  
      {
          break;
                }  
     
              cout < <a;                      
      
      }     
     }  
}

[解决办法]
break; 
改为 continue


[解决办法]
#include <iostream > 
using namespace std; 
void main()
{
 int a; 
int i; 
 for(a=2;a <=100;a++)
  {
   for(i=2;i <=a-1;i++)
  { 
if (a%i=0) //-->> if(a%i==0)
      { 
break; //-->> continue;??
}
   
cout < <a;
       
  } 
   }
}
[解决办法]
if (a%i=0) 表达式恒为false,
[解决办法]
#include<iostream > 
using namespace std; 
void main()
{
int a; 
int i;
for(a=2;a<=100;a++)
for(i=2;i<a;i++)
if(a%i==0) //////////=表示给左边的变量附值 应用==
{
cout<<a<<" "; //////
break; //////
}

}
lz 看看这样行不行
[解决办法]
你是在求100内的素数啊。
错误倒是只有 楼上说的那一处:
if语句 if (a%i=0) 
= 是复制符号。

这样的程序编译是不出错的,
为了避免这样的错误,
应该养成 把常量 写在前面的习惯:
这个就应该改成
(0 == a%i)

还有,你这样求素数的效率太低了。
用筛法吧。
[解决办法]

C/C++ code
#include<iostream > using namespace std; int main()   {       int flog;    // 标记是否为素数    for(int a=2; a<=100; ++a)       {             flog = 1;        for(int i=2; i<=a-1; ++i)           {             if(a%i == 0)            {                 flog = 0;    // 不是素数,淘汰                break;              }           }        if(1 == flog)        {            cout << a << " ";        }    }    return 0;} 

热点排行