gpt4 book ai didi

C 程序 - 基本计算器

转载 作者:行者123 更新时间:2023-12-02 19:49:57 25 4
gpt4 key购买 nike

我正在尝试用 C 语言编写一个基本的计算器程序,而且我已经快完成了!不过,我有一个问题,它涉及重复查询用户的输入。

我可以完成一次循环,但即使用户输入了正确的字符,我的程序仍然会跳出循环。

我对 C 语言相当陌生,但我已经用 Java 进行了大量编程,因此我了解循环、条件和数据类型的功能。

#include <stdio.h>

int main()
{
char yes;
int a, b, c, choice;

yes = 'y';
while(yes == 'y' || yes == 'Y')
{
printf("Enter first integer: ");
scanf("%d", &a);

printf("Enter second integer: ");
scanf("%d", &b);

printf("\nAdd(1), Subtract(2), Multiply(3), Divide(4): ");
scanf("%d", &choice);

printf("\n");
switch(choice)
{
case(1):
c = a + b;
printf("%d + %d = %d\n", a, b, c);
break;
case(2):
c = a - b;
printf("%d - %d = %d\n", a, b, c);
break;
case(3):
c = a * b;
printf("%d * %d = %d\n", a, b, c);
break;
case(4):
c = a / (float)b;
printf("%d / %d = %d\n", a, b, c);
break;
default:
printf("Incorrect choice. Try again.\n");
}

printf("\nAgain (Y/N): ");
scanf("%c", &yes);
}

return 0;
}

最佳答案

您需要使用尾随换行符,输入保留在 stdin 缓冲区中,准备好被下一个 scanf 读取。

改变

scanf("%c", &yes);

scanf(" %c", &yes);

关于C 程序 - 基本计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28971050/

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