c语言,用for语句判断一个数字是否为质数,代码如下: #include<stdio.h> mai
答案:3 悬赏:0
解决时间 2021-01-27 18:35
- 提问者网友:缘字诀
- 2021-01-27 14:53
c语言,用for语句判断一个数字是否为质数,代码如下: #include<stdio.h> mai
最佳答案
- 二级知识专家网友:旧脸谱
- 2021-01-27 15:32
for循环第一次进去,你的判断进行了一次就做出了决定,并没有使num 取足足够的次数,所以导致出错。建议不要使用break,除数次数为sqrt(num),添加一个flag,使得循环能进行多次。
#include
#include
void main()
{
int i ,j, flag=1;
printf("please input a number:"); scanf("%ld", &num);
for(i=1; i {
flag = 1;
for(j=2; j<=sqrt(num); j++)
if(i%j == 0){
flag = 0;
break;
}
if(flag == 1)
printf("i=%d是素数\n",i);
}
}追问真是麻烦你了,我才刚刚学,采纳给别人了,不好意思,大家都很热心,谢谢追答没事,你明白就好了。
#include
#include
void main()
{
int i ,j, flag=1;
printf("please input a number:"); scanf("%ld", &num);
for(i=1; i
flag = 1;
for(j=2; j<=sqrt(num); j++)
if(i%j == 0){
flag = 0;
break;
}
if(flag == 1)
printf("i=%d是素数\n",i);
}
}追问真是麻烦你了,我才刚刚学,采纳给别人了,不好意思,大家都很热心,谢谢追答没事,你明白就好了。
全部回答
- 1楼网友:不甚了了
- 2021-01-27 17:54
改一下#include main() { long int num, i; printf("please input a number:"); scanf("%ld", &num); for (i = 2; i > 1 && i < num; i++) { if (num % i != 0) { if (i =num-1) {printf("%ld是质数\n", num); break; }
else { printf("%ld不是质数\n", num); break; } } return (main()); }
else { printf("%ld不是质数\n", num); break; } } return (main()); }
- 2楼网友:酒醒三更
- 2021-01-27 16:41
我暂时保留我的看法!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯