许圣梅谈大陆是啥节目:C语言问题?

来源:百度文库 编辑:高考问答 时间:2024/04/29 03:15:26
任意从键盘上输入一个自然数,显示其后的50个素数,要求10个数一行显示。

楼上的,人家那么急,你还这样,不厚道啊

#include <stdio.h>
int isPrime(int n)
{
int i=2;
for(i*i<=n;i++)
{
if(n%i==0)
return 0;
}
return 1;
}

int main()
{
int n;
scanf("%d",&n);
int count=0;
n++;
while(count<50)
{
if(isPrime(n))
{
printf("%d ",n);
count++;
if(count%10==0)
{
printf("\n");
}
}
n++;
}
}

这个简单,首先要知道什么是素数;它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。例如,15=3*5,所以15不是素数;又如,12=6*2=4*3,所以12也不是素数。另一方面,13除了等于13*1以外,不能表示为其它任何两个整数的乘积,所以13是一个素数。
既然知道如何判断素数,下面就看如何显示他后面的50个,你用循环来控制,用while来控制,每找到一个素数,那就让一个计数变量+1;并且赋值给数组,直到找出50个后退出循环
至于每10个数显示一行,在输出循环语句中加入一个变量,每到10你就额外加个换行
如果还有什么不明白的就给我发邮件吧,我不把答案写出来是因为那样你就失去了思考的余地了jzbaxcc@126.com