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

C++ 随便输入一个100以内 质数 然后列出他前面的5个质数

2012-09-24 
C++ 任意输入一个100以内 质数然后列出他前面的5个质数C++求解,自己算了好几遍,总是不通,这是这周的设计作

C++ 任意输入一个100以内 质数 然后列出他前面的5个质数
C++ 求解,自己算了好几遍,总是不通,这是这周的设计作业~求前辈~~

[解决办法]

C/C++ code
#include <iostream>#include <math.h>using namespace std;void main(){  int num,flag=1,n=0;  int a[100]={0};  cout<<"请输入一个质数"<<endl;  int t;  while (cin>>num)  {      if ((num>100)||(num==2))      {          cout<<"此数超过100或等于2,请重新输入!"<<endl;//如果等于2,那么2的前面没有质数。          continue;      }      for ( t=2;t<=sqrt(num);t++)      {          if (num%t==0)          {              break;          }      }      if (t>sqrt(num))      {          cout<<num<<"是质数"<<endl;          break;      }      else      {         cout<<num<<"是合数,请重新输入!"<<endl;      }  }  cout<<num<<"之前的五个质数分别为"<<endl;  for (int i=num-1;i>=2;i--)  {      flag=1;      for (int j=2;j<=sqrt(i);j++)      {          if (i%j==0)          {              flag=0;              break;          }      }      if (flag==1)      {          n++;          if (n==6)          {              break;          }          cout<<"第"<<n<<"个质数:"<<i<<endl;      }  }} 

热点排行