读书人

大侠们

发布时间: 2013-01-01 14:04:19 作者: rapoo

大侠们,求助啊

,好无语啊,直接打击人啊。
[解决办法]
for循环里应该是m+=2吧?
[解决办法]
#include "iostream"
#include "math.h"

using namespace std;

int main(void)
{

int m=3;
int i=2;
int k=0;
for(m=3;m<100;m+=2)
{
k=(int)sqrt((double)m);
for(i=2;i<=k;i++)
{
if(m%i==0)
{
break;
}
}
if(i>k)
{
cout<<m<<endl;
}
}

getchar();
getchar();

return 0;
}

[解决办法]
同学,你第一层for循环 m+2 没修改m 的值啊。应该改成 m += 2。
其次,你逻辑有些问题。比如内层 当i>k时,内层for循环已经跳出去了,怎么能执行 输出呢。
我帮你改了改,你可以参考一下
#include<stdio.h>
#include<math.h>
void main()
{ int m,i,k;
for(m=1;m<100;m +=2)
{ k=sqrt(m);
for(i=2;i<=k;i++)
{
if(m%i==0) break;
}
if(i > k)
printf("%d\n",m);
}

}

[解决办法]
不要粗心啊

引用:
引用:C/C++ code?1234567891011#include<stdio.h>#include<math.h>void main(){ int m,i,k; for(m=3;m<100;m+2) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0) break; ……

[解决办法]
引用:
C/C++ code
?



1234567891011121314151617181920212223242526272829303132

#include "iostream" #include "math.h" using namespace std; int main(void) { int m=3; int i=2; int ……

一个getchar();就够了
[解决办法]
引用:
同学,你第一层for循环 m+2 没修改m 的值啊。应该改成 m += 2。
其次,你逻辑有些问题。比如内层 当i>k时,内层for循环已经跳出去了,怎么能执行 输出呢。
我帮你改了改,你可以参考一下
C/C++ code?123456789101112131415#include<stdio.h>#include<math.h>void main(){ int ……

你跟人家一样的啊,人家就是少了对大括号,格式不整齐。。。

读书人网 >C++

热点推荐