编程输出1000以内的所有素数,要求每行输出8个数。 #include<stdio.h> #in

编程输出1000以内的所有素数,要求每行输出8个数。

#include<stdio.h>
#include<math.h>
int prime(int);
void main()
{int i,m;
int j=0;
for(i=2;i<=997;i++)
{m=prime(i);
if(m==1)
printf("%4d",i);
j++;
if(j%8==0)
printf("\n);
}
}
int prime(int n)
{int a,k;
for(a=2;a<=sqrt(n);a++)
{k=n%a;
if(k==0)
return(0);
else
return(1);
}
}

帮忙找错,初学者,谢谢,急急急!
谢谢,运行结果不对,会出现2 ,3,5,7,9;11,13,15,17,19;21,23,……是每隔两个数输出的

int prime(int n)
{int a,k;
for(a=2;a<=sqrt(n);a++)
{k=n%a;
if(k==0)
return(0);
}
return(1);
}
改成这样试试

你为什么要使用sqrt呢,为什么最多运行到他的平方根
改成a<n试试
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-08
看着总体上没什么大问题啊,报错是在哪里?
一个满8个换行的,漏掉引号了
还有一个sqrt是不是只接受double或者float的啊,加个sqrt((double)n)试试
第2个回答  2012-12-11
#include <stdio.h>
#include <math.h>
int main ()
{
int i ,k=0 ,m ;
for (m=2; m<=997; m=m+1)
{
for (i=2; i<=sqrt(m);i=i+1)
if (m%i==0) break ;
if (i>sqrt(m))
{
printf("%d " ,m);
k=k+1;
if(k%8==0) printf("\n");
}
}
printf("\n");
return 0;
}
//跟你写的不一样 ,你先看看我的再找找你的错误
第3个回答  2012-12-11
以LAMP兄弟连的课程安排来说主要学习一下内容:
1.SpringSecurity:目前最主流的JavaEE安全解决方案,基于Spring。为基于JavaEE企业开发提供全面安全服务。
2.WebSphere:企业级应用服务器。包含了编写、运行和监视全天候的工业强度的随需应变 Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施。
3.负载均衡:高并发解决方案。能利用一个集群中的多台单机,响应更多的并发请求。
4.分布式系统:由网络互联的多处理机体系结构上执行任务的系统。可有效提高系统的可扩展性、稳定性和执行效率

...所有的素数,并统计素数的个数,要求每行输出8个数。
\/\/输出1000以内的素数,统计素数的个数,要求每行输出8个数#include <stdio.h>int main(){int i;int count = 0; \/\/记录共有多少素数int count1 = 0; \/\/每8个素数就打一个回车int sushu(int i); \/\/判定素数的函数for (i = 2; i < 1000; i++) \/\/取2到999之间的素数{if (...

C语言:输出1000~2000之间的所有素数,每行输出8个,要求调用求素数函数...
include <stdio.h> int sushu(int n){ int i;for(i=2;i<n;i++){ if(n%i==0)return 0;} return 1;} int main (){ int n,m,j=0;for(n=1000;n<=2000;n++){ m=sushu(n);if(m==1){ printf("%d ",n);j++;if(j%8==0)printf("\\n");} } return 0;} ...

...语言编程的一个程序。让输出一1000以内的全部素数
1、主函数中进行循环,从2到1000 2、如果当前循环的数是素数,就将其输出 判断一个数num是否是素数,可按照以下流程:1、循环,从2到num-1 2、如果当前循环的数能被num整除,则num不是素数 3、没有num能整除的数,表明num是素数 代码如下:include <stdio.h> int isPrime(int num);int main(...

编程输出1000以内所有各个位均不相等的数字并统计其个数。要求数据输出...
您好,可以这样编程啊 include "stdio.h"int main(int argc, char *argv[]){ int n, m, k, i, s, t;for(s = k = 0, n = 4; n < 1000; n++){ for(m = 1, t = n \/ 2, i = 2; i <= t; i++)if(n % i == 0)m += i;if(m == n){ printf(++k % 5...

题目要求输出1000以内的所有质数 然后每行8个 输出 我知道F()函数错...
if(x%m==0) return 0 ;else return 1;然后就出来了,m=3,4,5...根本没用到 int f(int x){ int m;if(x==2||x==3) return 1;for(m=2;m<=sqrt(x);m++){ if(x%m==0)return 0 ; \/\/被整除了,就不是质数,直接返回0 else continue; \/\/没被整除就增加m继续...

求助!大侠帮帮忙,设计一个c语言程序,输出100到1000的素数。_百度...
include <stdio.h> bool IsPrimeNumber(int iNum);int _tmain(int argc, _TCHAR* argv[]){ int sum = 0;int j = 0;for (int i = 999; i > 0; i-=2)\/\/只对单数进行运算,忽略双数 { if (IsPrimeNumber(i)){ printf("Prime[%d] = %d, ", j, i);\/\/数组下标从零开始 sum...

编写一个程序,输出1~1000之内所有的素数(注意:素数即质数)及个数(C语 ...
#include <stdio.h>main(){int a,i,sum=0;printf("素数:\\n");for (a=1;a<=1000;a++){for (i=2;i<=(a-1);i++)if (a%i==0)break;if (i>=a){sum++;printf("%d\\n",a);}}printf("\\n素数的个数:%d\\n",sum);} 本回答由提问者推荐 举报| 答案纠错 | 评论(1) 12 30 myy2...

找出1到1000中至少有一位数字是5的整数,将这样数输出,每行输出8个...
include stdio.h include conio.h int main(){ int count=0,i=1,j=0;for(;i=1000;i++){ if( (i%10==5)||(i\/10%10==100)||(i\/100%10==5) ){ j++;printf("%d ",i);if(j%8 == 0)printf("\\n");} } getch();return 0;} ...

编写一个程序,输出1~1000之内所有的素数(注意:素数即质数)及个数(C语 ...
源代码如下:include <stdio.h> include <math.h> void main(){ int n=0, i, j,w,k;for(i=2;i<=1000; i++){ w=1;k=sqrt(i);for (j=2; j<=k; j++)if (i%j==0) {w=0;break;} if (w) { ++n;if (n%10==0) printf("%d\\n",i);else printf("%d\\t",i);...

C语言编程实现:输入1~1000以内,除7余5、除5余1、除3余2的数,每行输出...
include <stdio.h>int main(int argc,char *argv[]){ int n,k; for(k=0,n=1;n<1001;n++) if(n%7==5 && n%5==1 && n%3==2) printf(++k%8 ? "%4d" : "%4d\\n",n); if(k%8) printf("\\n"); return 0;} ...

相似回答