gpt4 book ai didi

c语言的计算器(累加器)

转载 作者:行者123 更新时间:2023-12-02 01:22:14 27 4
gpt4 key购买 nike

我想用 c 编写基本计算器:我有累加器的问题(带有“+”和“-”运算符)

int main(void)
{
float num1,num2,res;
char operator;

printf ("Type in your expression.\n");
scanf ("%f %c %f", &num1, &operator, &num2);

if(operator == 'S'){
printf(" = %.2f\n",num1);
res = num1;
while(1){
printf ("Type in your expression.\n");
scanf ("%c %f", &operator, &num2);
if(operator == '+'){
res += num2;
printf("%.2f\n", res);
}
else if(operator == '-'){
res -=num2;
printf("%.2f\n",res);
}
else if(operator == '*'){
res *=num2;
printf("%.2f\n",res);
}
else if(operator == '/'){
if(num2 == 0)
printf("Division by zero\n");
else
res /=num2;
printf("%.2f\n",res);

}
else if(operator == 'E'){
printf("End of the calculation:");
printf("%.2f",res);
break;

}
}
}

在这部分代码中,除法和乘法工作正常:但是当我在累加器中输入类似“+3”或“-2”的东西时,什么也没有发生。我不知道问题出在哪里。

最佳答案

我认为这是因为在下面的命令中:

scanf ("%c %f", &operator, &num2);

当您在程序等待读取运算符和数字时键入 +3 时,它会将 +3 作为数字而不是 + 作为运算符和 3 作为数字。因此您必须给出 + 3(尽快分离)。我试过了,我认为它有效!!

关于c语言的计算器(累加器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39332231/

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