c语言质数问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 05:45:21
输出前10个质数,要简单易懂,最好不要用函数。
要用for循环

#include <stdio.h>//VC++6
int main(void)
{
int a,b;//a为起始数,b为最后一个数,c为所有质数的和
printf("Please输入起始数(整数):\n");
scanf("%d",&a);//这里输入为2
printf("Please输入终止数(整数):\n");
scanf("%d",&b);//这里输入要>29,不然不足10个
int ten=0;//让flags判断输出10个
int i,j;//i为判断一个数为质数与否的,j是用来对这个数++的.
bool flags=true;
for(j=a;j<=b;j++)
{
for(i=2;i<=j/2;i++)
{
if (j%i==0) flags=false;//如果m整除i,flags为false,指不是质数
}
if(flags==true)
{
printf("\n%d",j);
ten++;//改下面一句中的10,可以调整输出数目
if(ten==10) { printf("\n\n10个质数已输出\n");break;}
}
else
flags=true;
}
return 0;
}

定义int x,y,z=0
定义boolean flag=false;
for (x=0;x<100;x++)
{
if(z<10)
{
flag=false;
for (y=2;y<x+1;y++)
{
if(x除以y的余数为0且x不等于y){flag=true;}
}
if(