1~100间的质数 c++挑错

#include<iostream>
using namespace std;
int main()
{
int m,i,k;
char flag;
cout<<"1~100间的质数有: "<<endl;
for(m=2;m<=100;m++)
{
flag='T';
k=m/2;
for(i=2;i<=k;i++)
if(m%i==0)
{
flag=='F';
break;
}}
if(flag=='T')

cout<<m<<" ";

system("pause");
return 0;
}

第1个回答  2011-10-27
你那样肯定不对
#include<iostream.h>
#include<math.h>
using namespace std;
int main()
{
int m,i,k;
char flag;
cout<<"1~100间的质数有: "<<endl;
for(m=2;m<=100;m++)
{
flag='T';
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
{
flag='F';
break;
}
if(flag=='T')
cout<<m<<" ";

}
system("pause");
return 0;
}
第2个回答  2011-10-27
//求素数
void prime(int *a, int x)
{
for (int i = 2; i < x; i++)
{
int flag = 1;
for(int j = 2; j*j<a[i]/2;j++)
{
if (a[i] % j == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
{
cout<<a[i]<<" ";
}
if(i%10 == 0)
cout<<endl;
}
}
这是我写的,下面是我改你的:
int m,i,k;
char flag;
cout<<"1~100间的质数有: "<<endl;
for(m=2;m<=100;m++)
{
flag='T';
k=m/2;
for(i=2;i<k;i++) //还有这里,for后面都没大括号,层次不清晰。
{
if(m%i==0)
{
flag='F'; //原来是flag=='F';等号和赋值号要区分清楚啊
break;
}
}
if(flag=='T')
cout<<m<<" ";
}
第3个回答  2011-10-27
int main()
{
int m,i,k;
char flag;
cout<<"1~100间的质数有: "<<endl;
for(m=2;m<=100;m++)
{
flag='T';
k=m/2;
for(i=2;i<=k;i++)
if(m%i==0)
{
flag='F';
}
if(flag=='T')
cout<<m<<" ";
}
return 0;
}本回答被网友采纳
第4个回答  2011-10-27
#include<iostream>
using namespace std;
int main()
{
int m,i,k;
char flag;
cout<<"1~100间的质数有: "<<endl;
for(m=2;m<=100;m++)
{
flag='T';
k=m/2;
for(i=2;i<=k;i++)
if(m%i==0)
{
flag='F';
break;
}
if(flag=='T')
cout<<m<<" ";

}

system("pause");
return 0;
}

1~100间的质数 c++挑错
你那样肯定不对 include<iostream.h> include<math.h> using namespace std;int main(){ int m,i,k;char flag;cout<<"1~100间的质数有: "<<endl;for(m=2;m<=100;m++){ flag='T';k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0){ flag='F';break;} if(flag=='T')cout<<...

c++筛选法球1到100的质数
const int N=100;bool fun(int x) \/\/用来判断x是不是质数 { int i;bool r=1;for(i=2;i<x;i++){ if(x%i==0){r=0;break;} } return r;} int main(){ int i;cout<<N<<"以内的质数为:2";for(i=3;i<=N;i++){ if(fun(i))cout<<" "<<i;} cout<<endl;ret...

c++程序无法运行出1到100的质数
cout<<"1~100的质数有1,"<<endl;int i,n=1; \/\/这里n应该从1开始,如果不是的话,后面进入死循环,因为1%i的值永远都不为0;while(n<100){ n++;i=2; \/\/每次循环应该都从i=2开始 while(n%i!=0) \/\/多了个分号 i++;if(i==n)cout<<n<<","<<endl;} return 0;} ...

求100内质数..用C++我这个哪错了啊
那个是否是素数的判断要在外层for循环,楼上的都是逻辑错误!include <iostream> using namespace std;int main(){ for(int i=2;i<100;i++){ bool flag=true;cout<<i<<" ";for(int m=2;m<i;m++){ if (i%m == 0){ flag=false;break;} } if(flag)cout<<"yes"<<endl;else cou...

用C++取1到100的质数
include <stdio.h> void main(){ int a,b;for(a=2;a<=100;a++) \/\/取100以内所有的数 { for(b=2;b=a) \/\/当条件为真则为质数 printf("%5d",a);} }

C++语言问题,关于编程一个显示从1到100的质数。
假如某个数n不是素数,则一定可以分解成x*y形式。由此可以推论,n不是素数,则一定可以被某个小于n的数整除。而对n来说,最小公因数最大只可能为n的平方根,因为假如存在一个大于n平方根的公因数x,则一定存在另一个公因数y=n\/x,y 追问:可是按照我那想法去编译运行程序,却不显示结果,为什么...

C++ 求1到100所有质数共有几个
质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。了解质数后, 我们就可以根据其特点进行编程开发了。下面直接上程序:int main(){ int i; int iCount = 0; \/\/质数的个数 for(i=2;i<=100;i++) { int k=0; ...

...用c++语言 用for语句编程输出1到100中所有的质数可以利用for循环判断...
include<iostream>using namespace std;void main() { int i,j,b; for ( i=1;i<=100;i++ ) { for ( j=2,b=1;j<=i\/2;j++ ) if ( i%j==0 ) { b=0;break; } if ( b ) printf("%d ",i); } printf("\\n");} ...

C++编程问题:用穷举法找出1到100的质数并显示出来。使用do...while循 ...
i=2时,i%j = 0 ,所以m就被赋值为0,然后后面的cout<<i<<"" 语句就不会被执行。

c++:输出1~100的质数
include<iostream> using namespace std;int main(){ int i, j;for(i=1;i<=100;i++) { for(j=2;j<i;j++)if(i!=j&&i%j==0)break;if(i == j) cout<<i<<endl;} system("pause");} 事实上不建议这样写for(j=2;jsqrt(i) 这样的算法更有效 ...

相似回答
大家正在搜