输出m到n之间的所有素数,m<100.n<1000 每两个数之间用空格分隔开。C语言题目

输出m到n之间的所有素数,m<100.n<1000
每两个数之间用空格分隔开。C语言题目

#include<stdio.h>
int main()
{
int i,j,m,n,mark=1,k=0;

scanf("%d %d",&m,&n);
if(m>=100||n>=1000)
{
printf("Error!\n");
return 0'
}
for(i=m;i<=n;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
mark=0;
if(mark==1)
{
if(i!=1&&i!=0)//加上这句,以免输出1,因为1既不是素数,也不是合数
printf("%4d",i);
k++;
}
mark=1;//加上这么一句,因为只要有一个mark==0,后面不改变mark的值
}
if(k==0)
printf("没有素数");
return 0;
}追问

网上抄的,我才看的

追答

不就为了做百度任务嘛,自己写也是一样的,思路算法都是这样的

追问

再问你一道题行吗,你要能从网上搜到我就服你

问:输入两个三位数m和n输出m到n之间的水仙花数,每个数单独占一行,若没有水仙花数,则输出no,

追答

网上都有的,我是懒的弄了,有现成的不用吗

追问

这道题和我要求的不一样啊

追答

哦,你要输出格式是吧,没注意,给你改一下吧

追问

而且没有水仙花数输出的也不一样啊

追答

哦,你要输出格式是吧,没注意,给你改一下吧
#include
int main()
{
int i,j,m,n,mark=1,k=0;

scanf("%d %d",&m,&n);
if(m>=100||n>=1000)
{
printf("Error!\n");
return 0'
}
for(i=m;i0&&k%2==0)
printf("\b\t");//\b是退一格显示,为了删除多余的逗号,显得美观,\t制表符,加个大空格
}
mark=1;//加上这么一句,因为只要有一个mark==0,后面不改变mark的值
}
if(k==0)
printf("没有素数");
else if(k%2==1)//如果素数个数是奇数,多一个逗号,删除掉,美观一点
printf("\b");
return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答