gpt4 book ai didi

c - 判断一个数是否为素数的程序

转载 作者:行者123 更新时间:2023-11-30 21:46:17 24 4
gpt4 key购买 nike

你输入一个数字,程序会判断这个数字是否是素数所以当我第一次输入数字 7 时,它会显示“该数字是素数”然后我输入 8,它会显示“该数字不是素数”之后我重新输入数字 7,它会显示“该数字不是质数”我不知道问题出在哪里请帮我 an example photo from here我的代码是:

#include <stdio.h>
#include <stdlib.h>

int main (void){
int n;
int t;
int isPrime=0;
char var;

while(var!='q'){
printf("q=quit p=prime :");
fflush(stdin);
scanf("%c",&var);
if(var=='p'){
printf("plz put the number value :");
scanf(" %d",&n);
for(t=2;t<=n/2;t++){
if (n%t==0){
isPrime=1;
break;
}
}
if(isPrime==0){
printf("%d is a prime number\n",n);
}
else{
printf("%d is not a prime number\n",n);
}
}
else if(var=='q'){
printf("thank you bye\n");
break;
}
else{
printf("a wrong letter\n");
}
}
return 0;
}

最佳答案

每次用户输入数字时,您都需要将 isPrime 设置为 0。否则,它仍然保留前一个数字的值。

移动变量声明

int isPrime = 0;

while循环内。

顺便说一句,这个变量名是不是反了?当您发现有一个数字可以将其整除时,请将其设置为 1(即 true)。但此时该数字不是素数。

关于c - 判断一个数是否为素数的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33619156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com