我正在尝试创建一个程序,您可以从中选择四个数字中的一个,每个数字除了其中两个之外还会给出不同的结果。选择10将对其进行平方,得到答案100.选择9将要求您选择不同的数字,选择2或3会将数字乘以99.
我遇到的问题是四个数字中的一个有效,如果输入9,它将提示用户选择不同的数字,这是正确的。但是,选择10,3或2将给出答案0,这是不正确的。虽然直接键入10,3或2将无法提供正确的答案,但如果先输入9,然后选择2或3,它将输出正确的答案,输入10将给你990。
这就是我所拥有的。我哪里做错了?提前谢谢!
#include <stdio.h>
int main (void)
{
int num1, answer;
num1=answer=0;
printf ("Choose a number 2, 3, 9, 10: ");
scanf ("%d", &num1);
while (num1 == 9)
{
if (num1 == 10)
{ answer = num1^2;
}
if (num1 == 9)
{ printf ("Please choose another number: ");
scanf ("%d", &num1);
}
if (num1 == 2||3)
answer = num1 * 99;
}
printf ("Your answer is: %d", answer);
return 0;
}
答案 0 :(得分:2)
答案 1 :(得分:1)
要修复的示例
#include <stdio.h>
int main (void){
int num1, answer;
num1=answer=0;
printf("Choose a number 2, 3, 9, 10: ");
scanf("%d", &num1);
while (num1 == 9){
printf ("Please choose another number: ");
scanf ("%d", &num1);
}
if (num1 == 10){
answer = num1 * num1;
} else if (num1 == 2 || num1 == 3){
answer = num1 * 99;
} else {
;//choice other number!!
}
printf ("Your answer is: %d\n", answer);
return 0;
}