gpt4 book ai didi

c - 答案永远是零

转载 作者:行者123 更新时间:2023-11-30 18:10:46 26 4
gpt4 key购买 nike

在我的代码中,总数的答案始终= 0。我不知道我的代码有什么问题。谁能帮我解决这个问题。

我尝试使用“if else”条件而不是“switch”。然而问题并没有解决。

我认为“pkg”值没有分配给变量。但这是什么原因呢。据我所知,我已经正确使用了“scanf”函数。

#include<stdio.h>

int main(void)
{
int i = 1;
float km, amount, total = 0;
char next, loyal, pkg;

printf("Enter Loyalty (Y / N) ?");
scanf("%*c%c", &loyal);

do{
printf("Package No : ");
scanf("%c*c", &pkg);

printf("Total Distance : ");
scanf("%f", &km);

if(km <= 80) {
switch (pkg){
case 'A':
amount = 1500;
break;
case 'B':
amount = 10000;
break;
case 'C':
amount = 13000;
break;
case 'D':
amount = 12000;
break;
}
}
else {
switch (pkg) {
case 'A':
amount = 1500 + 150 * (km - 80);
break;
case 'B':
amount = 10000 + 150 * (km - 80);
break;
case 'C':
amount = 13000 + 150 * (km - 80);
break;
case 'D':
amount = 12000 + 150 * (km - 80);
break;
}
}

total = total + amount;
i++;

printf("\nDo you have more customers (Y / N): ");
scanf("%*c%c", &next);

printf("----------------------------------------------\n");

} while (next == 'Y' && i <= 3);

printf("\n\nPrice = %.2f", total);

return 0;
}

最佳答案

我尝试了你的代码,这里的问题是我认为你使用的是小写输入,这就是为什么你得到错误的输出,在输入上使用大写函数或使用大写输入来避免错误的结果。

这是带有大写输入的输出: enter image description here

您应该始终在 switch 中使用默认值以避免更多问题。

关于c - 答案永远是零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55644461/

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