#include<stdio.h> int main() { int a,b,c,max1,max2,sum; printf("请输入三个整数:\n"); scanf("%d%d%d,&a,&b,&c); max1=a>b?a:b; max2=b>c?(a>c?a:c):(b>c?b:a); sum=max1+max2; printf("最大的两个数之和是:%d\n",sum); } 这个程序的错误是哪
时间: 2024-03-25 17:38:38 浏览: 13
这个程序有两处错误:
1. 在输入语句中,scanf函数的格式控制字符串中少了一个引号,应该为"%d%d%d",而不是"%d%d%d,&a,&b,&c"。
2. 在求最大值的表达式中,max2的计算有误。应该为:
```
max2 = (a > c ? a : c) > (b > c ? b : c) ? (a > c ? a : c) : (b > c ? b : c);
```
修改后的程序如下:
```
#include <stdio.h>
int main() {
int a, b, c, max1, max2, sum;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
max1 = a > b ? a : b;
max2 = (a > c ? a : c) > (b > c ? b : c) ? (a > c ? a : c) : (b > c ? b : c);
sum = max1 + max2;
printf("最大的两个数之和是:%d\n", sum);
return 0;
}
```
相关问题
C语言程序输入三个整数a、b、c,要求计算最大的两个数之和。
好的,可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int a, b, c, max1, max2, sum;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
if (a > b) {
max1 = a;
max2 = (b > c) ? b : c;
} else {
max1 = b;
max2 = (a > c) ? a : c;
}
sum = max1 + max2;
printf("最大的两个数之和为:%d\n", sum);
return 0;
}
```
以上代码中,我们首先使用 `scanf` 函数获取用户输入的三个整数。然后使用 `if-else` 语句判断哪两个数最大,并将它们的和赋值给 `sum` 变量。最后使用 `printf` 函数输出结果。
用C语言程序编写程序:输入三个整数a、b、c,计算最大的两个数之和
好的,以下是用C语言编写的程序,可以实现输入三个整数a、b、c,计算最大的两个数之和:
```c
#include <stdio.h>
int main() {
int a, b, c, max1, max2, sum;
printf("请输入三个整数a、b、c:\n");
scanf("%d%d%d", &a, &b, &c);
max1 = a > b ? a : b;
max2 = b > c ? (a > c ? a : c) : (b > a ? b : a);
sum = max1 + max2;
printf("最大的两个数之和为:%d\n", sum);
return 0;
}
```
运行结果示例:
```
请输入三个整数a、b、c:
5 9 2
最大的两个数之和为:14
```
希望这个程序可以帮到你!如果你有其他问题,欢迎随时提出。