earlsmy 2017-11-02 13:18 采纳率: 0%
浏览 11603

从键盘上输入任意一个正整数,然后判断该数是否为素数。C语言

#include
#include

int main()
{
int a,b,n=0;
scanf("%d",&a);
for(b=2;b<a;b++)
{
if(a%b==0)
n=n+1;
}
if(n==0)
printf("This is a prime");
else
printf("This is not a prime.");
return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-11-02 14:13
    关注

    你的程序没有对0 1 2三个数字的特殊性做出处理,别的没看出问题。
    if(a%b==0)
    n=n+1;
    可以简化为
    if(a%b==0) { n = 1; break; }

    评论

报告相同问题?

悬赏问题

  • ¥15 如何提取csv文件中需要的列,将其整合为一篇完整文档,并进行jieba分词(语言-python)
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?