C语言代码优化:计算胜者并输出结果
你的代码有一些问题,主要是变量使用和逻辑问题。下面是修改后的代码:
#include <stdio.h>
int main() {
int Pa, Pb;
scanf("%d %d", &Pa, &Pb);
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
int sum = a + b + c;
if (Pa > Pb) {
switch (sum) {
case 3:
printf("The winner is b: %d + %d\n", Pb, sum);
break;
default:
printf("The winner is a: %d + %d\n", Pa, 3 - sum);
break;
}
} else {
switch (sum) {
case 0:
printf("The winner is a: %d + %d\n", Pa, 3 - sum);
break;
default:
printf("The winner is b: %d + %d\n", Pb, sum);
break;
}
}
return 0;
}
在这个修改后的代码中,我们先读取输入的 Pa 和 Pb,然后读取 a、b、c 的值,并计算它们的和 sum。
接下来,我们根据 Pa 和 Pb 的大小关系,以及 sum 的不同取值,使用 switch 语句选择输出不同的结果。
例如,如果 Pa > Pb 且 sum 为 3,则输出 'The winner is b: Pb + sum';如果 Pa > Pb 且 sum 不为 3,则输出 'The winner is a: Pa + (3 - sum)'。对于 Pa <= Pb 的情况,也采取相同的逻辑。
希望这个修改后的代码可以帮助你解决问题。如果还有其他问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/K6X 著作权归作者所有。请勿转载和采集!