【发布时间】:2016-02-10 16:35:03
【问题描述】:
你输入一个数字,程序会判断这个数字是否是素数 所以当我第一次输入数字 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;
}
【问题讨论】:
-
什么是
fflush (stdin) -
你之前问过这个。我知道,因为您使用了相同的非常糟糕标题...请阅读How do I ask a good question? - 并且,只要您有时间,请阅读tour。
-
@EdHeal:这是微软的特质。
-
谢谢你,考虑到晚餐里的辣椒,我猜我今晚的一些“stdin”会很热“stdout”
-
@EdHeal 不要忘记刷新:-p
标签: c if-statement scanf primes