【发布时间】:2020-09-01 20:20:20
【问题描述】:
我正在尝试为我的班级制作一个计算器程序(如您所知,尚未完全完成),但我遇到了乘法和除法部分的问题。它们都打印出 0 而不是它们的预期值,但加法和减法工作正常。有什么帮助吗?
int choice = 8;
double numberone;
double numbertwo;
while(choice > 7 || choice < 1){
printf("(1) Addition \n(2) Subtraction \n(3) Multiplication \n(4) Division \n(5) Modulus (integers only) \n(6) Test if prime (integers only) \n(7) Exit \nPlease choose an operation: \n");
scanf(" %i", &choice);
if (choice != 5 || choice!= 6){
printf("Enter the first number: ");
scanf(" %d", &numberone);
printf("Enter the second number: ");
scanf(" %d", &numbertwo);
if (choice == 1){
double sum = numberone + numbertwo;
printf("Sum: %d", sum);
}
else if (choice == 2){
double dif = numberone - numbertwo;
printf("Difference: %d", dif);
}
else if (choice == 3){
double pro = numberone * numbertwo;
printf("Product: %d", pro);
}
else if (choice == 4){
double quo = numberone / numbertwo;
printf("Quotient: %d", quo);
}
}
}
}
【问题讨论】:
-
ans 显示实际和预期的输入和输出。
-
(choice != 5 || choice!= 6)将永远为真。你想在这里做什么? -
阅读
double需要使用%lf格式,而不是%d。 -
所有scanf()a的返回值(不是扫描的值)是什么?现在改掉不理他们的习惯。
标签: c