我这个代码错哪了?

hezhao88 2009-05-13 11:05:31
#include<stdio.h>
#include<math.h>
void main()
{
int i,k;
long int a;
scanf("%d",&a);
k=sqrt(a);
for(i=2;i<k+1;i++)
{
if(a%i!=0)
break;
if(i>k)
printf("Yes\n");
else
printf("No\n");
}
}
我想输出如果是素数输出Yes
否则输出No
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hezhao88 2009-05-13
  • 打赏
  • 举报
回复
谢谢了!
yuhongpingimu 2009-05-13
  • 打赏
  • 举报
回复
cpp_for_food 2009-05-13
  • 打赏
  • 举报
回复
你应当把
if(i>k)
printf("Yes\n");
else
printf("No\n");
放在那个for循环外
KevinHo 2009-05-13
  • 打赏
  • 举报
回复
应该是判断语句有a%i==0
lingyin55 2009-05-13
  • 打赏
  • 举报
回复
printf("No\n");
} ////对应的这里的括号不用。
}
ckh2007 2009-05-13
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <math.h>
void main()
{
int i;
long int a;

scanf("%d",&a);

for(i=2; i<a; i++)
{
if(a%i==0)
break;
}

if(i==a)
printf("Yes\n");
else
printf("No\n");

}
lingyin55 2009-05-13
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <math.h>
void main()
{
int i,k;
long int a;
scanf("%d",&a); ////用%ld输入
k=sqrt(a);
for(i=2;i <k+1;i++)
{
if(a%i!=0)
break;
}/////这里少了个括号啊
if(i>k)
printf("Yes\n");
else
printf("No\n");
}
}

brookmill 2009-05-13
  • 打赏
  • 举报
回复
scanf("%ld",&a); //**********
...
for(i=2;i <k+1;i++)
{
if(a%i==0) //******************
break;
} //******************
if(i>k)
printf("Yes\n");
else
printf("No\n");
}
liao05050075 2009-05-13
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <math.h>
void main()
{
int i,k;
long int a;
scanf("%d",&a);
k=sqrt(a);
for(i=2;i <k+1;i++)
{
if(a%i==0)
break;

}
if(i>k)
printf("Yes\n");
else
printf("No\n");
}

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧