#include<stdio.h>
int main()
{
int x,i;
printf("请输入一个正整数x=");
scanf("%d",&x);
if(x=1)
{
printf("不是质数");
}
else
{
for(i=2;i<x;i++)
{
if(x%i==0)
{
printf("不是质数");
}
else
{
printf("是质数");
}
}
}
system("pause");
return 0;
求大佬们看看
c语言求质数问题不知道哪里错了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 左手芦 2021-10-26 21:40关注
1.修改后的代码如下
#include<stdio.h>
#include<stdlib.h>
int main()
{
int x,i;
printf("请输入一个正整数\n");
scanf("%d",&x);
if(x==1)
{
printf("不是质数!");
}
else
{
for(i=2;i<x;i++)
{
if(x%i==0)
{
printf("是质数!\n");
break;
}
else if((x%i!=0)&&(i==x-1))
{
printf("不是质数!");
}
else
{
continue;
}
}
}
system("pause");
return 0;
}2.题主写的问题
你在判断素数时,只是简单调用素数中循环遍历小于素数的数相除求余判断,但是问题是从i=2开始,每一次判断,都会输出结果,比如一个数是14,在i=2是素数,在i=3是判断不是素数,因此有些数字会显示是素数和不是素数混合,我们需要在只要判断是素数的情况下,就返回跳出循环用break,其他情况继续进行用continue,知道i遍历到最后一个值且取余不为0则可以说不是素数。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 树莓派与pix飞控通信
- ¥15 自动转发微信群信息到另外一个微信群
- ¥15 outlook无法配置成功
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题