#include<stdio.h>
void main()
{
int flag=1,i,a,n;
printf("please input a number:");
scanf("%d",&a);
n=a/2;
for(i=2;i<n&&flag==1;i++)
{
if(a%i==0)
flag=0;
}
if(flag==1)
printf("%d this is a prime\n");
if(flag==0)
printf("%d this is not a prime\n");
}
c语言求素数的程序哪里有问题?
答案:4 悬赏:60 手机版
解决时间 2021-05-20 08:17
- 提问者网友:你挡着我发光了
- 2021-05-19 12:02
最佳答案
- 五星知识达人网友:第幾種人
- 2021-05-19 13:08
先确认一下,4不是素数。
for(i=2;i<n&&flag==1;i++)改为for(i=2; i<=n && flag==1; i++)
理由:我用4代入来判断的
for(i=2;i<n&&flag==1;i++)改为for(i=2; i<=n && flag==1; i++)
理由:我用4代入来判断的
全部回答
- 1楼网友:琴狂剑也妄
- 2021-05-19 16:35
#include<stdio.h> void main() { int flag=1,i,a,n; printf("please input a number:"); scanf("%d",&a); n=a/2; for(i=2;i<n&&flag==1;i++) { if(a%i==0) flag=0; } if(flag==1) printf("%d this is a prime\n",a); if(flag==0) printf("%d this is not a prime\n",a); }
***********************************************************************************************
...... 楼下匿名兄弟说得不错. 没注意测试.. 不好意思.
的确,改成for(i=2;i<=n&&flag==1;i++)才行...
- 2楼网友:封刀令
- 2021-05-19 16:02
后面%d 后跟变量
- 3楼网友:空山清雨
- 2021-05-19 14:47
#include<stdio.h>
void main()
{
int flag=1,i,a,n;
printf("please input a number:");
scanf("%d",&a);
n=a/2;
for(i=2;i<n&&flag==1;i++)
{
if(a%i==0)
flag=0;
}
if(flag==1)
printf("%d this is a prime\n",a);
if(flag==0)
printf("%d this is not a prime\n",a);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯