|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
int a, b, c;
printf("请输入a的值。\n");
scanf("%d",&a);
printf("请输入b的值。\n");
scanf("%d",&b);
printf("请输入c的值。\n");
scanf("%d",&c);
if (a == b == c)
printf("三个数相等。");
else if(a == b || a == c || b == c)
printf("有两个数相等。");
else
printf("三个数都不相等。");
return 0;
}
这是因为运算符的优先级问题导致的,可以将 if 语句改为如下形式即可:
- if (a == b && b == c)
- printf("三个数相等。");
- else if (a == b || a == c || b == c)
- printf("有两个数相等。");
- else
- printf("三个数都不相等。");
复制代码
在这里,我们使用了逻辑与运算符 &&,它的优先级比相等运算符 == 高。因此,先进行比较 a == b,再比较 b == c。
另外,题目中要求输入三个数,但代码中只有两个输入语句,应该增加一个输入语句。
经过修改后,代码如下:
- #include <stdio.h>
- int main()
- {
- int a, b, c;
- printf("请输入a的值:");
- scanf("%d", &a);
- printf("请输入b的值:");
- scanf("%d", &b);
- printf("请输入c的值:");
- scanf("%d", &c);
- if (a == b && b == c) {
- printf("三个数相等。\n");
- }
- else if (a == b || a == c || b == c) {
- printf("有两个数相等。\n");
- }
- else {
- printf("三个数都不相等。\n");
- }
- return 0;
- }
复制代码
希望能够帮到你!
球一个最佳答案谢谢啦!这对我非常重要!  
|
|