gpt4 book ai didi

c - C 语言总计不正确

转载 作者:行者123 更新时间:2023-11-30 19:17:06 28 4
gpt4 key购买 nike

好吧,我必须用 C 计算这个税率。基本上,前10,000个不征税,接下来的30,000个征10%的税,接下来的20,000个征20%的税。例如:你的收入是6万。前 10,000 人无需缴税,所以现在还剩下 50,000 人。这 50,000 人中接下来的 30,000 人缴纳 10% 的税,即 3,000 人。您现在有 20,000 个,括号中指出接下来的 20,000 个要征 20% 的税,因此是 4,000 个。总税额等于 3,000 + 4,000,即 7,000。现在我的代码无法得出正确的总数。请注意,这是我学习 C 语言的第一个学期。

// Aundray Ortiz
// 2/22/15
// COP3223
// tax



int main(){
int income;
int total = 0;

printf("What is your income in dollars?\n");
scanf("%d", &income);

int for_free;
int next_bracket;

for_free = income - 10,0000;
next_bracket = for_free - 30,000;

if (for_free >= 0){
total = for_free*.1;
}

if (next_bracket >= 0){
total = total + (next_bracket*.2);

}

printf("You will pay %d in taxes.", total);






return 0;
}

最佳答案

您的代码不起作用的一个原因是您没有将 for_free 限制为 30000。

另一个是10,000030,000存在语法错误(除了错误的值之外)。您必须删除逗号。

由于使用 total = for_free*.1; 进行 double 计算(可能)截断 double,还会出现编译器警告> 写回 int 值时的值。

这是清理后的代码,并包含更高的税率。

#include <stdio.h>

#define FOR_FREE 10000
#define LOW_BRACKET 30000
#define BIG_BRACKET 20000
#define LOW_RATE 0.10
#define HIGH_RATE 0.20
#define HUGE_RATE 0.50

int main(void) {
int income = 0;
int lowtaxable = 0, hightaxable = 0, hugetaxable = 0;
double taxdue = 0;
printf("What is your income in dollars?\n");
scanf("%d", &income);

lowtaxable = income - FOR_FREE;
if (lowtaxable > LOW_BRACKET) {
hightaxable = lowtaxable - LOW_BRACKET;
lowtaxable = LOW_BRACKET;
}
if (hightaxable > BIG_BRACKET) {
hugetaxable = hightaxable - BIG_BRACKET;
hightaxable = BIG_BRACKET;
}
taxdue = LOW_RATE * lowtaxable
+ HIGH_RATE * hightaxable
+ HUGE_RATE * hugetaxable;
printf("You will pay %.2f in taxes.\n", taxdue);
return 0;
}

关于c - C 语言总计不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28661408/

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