用C语言:从键盘输入四个整数,求出最大值和次最大值
时间: 2023-09-09 14:05:30 浏览: 309
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
### 回答1:
```c
#include <stdio.h>
int main() {
int a, b, c, d;
int max, second_max;
printf("请输入四个整数:\n");
scanf("%d%d%d%d", &a, &b, &c, &d);
max = a > b ? a : b;
max = max > c ? max : c;
max = max > d ? max : d;
if (a != max) {
second_max = a;
} else if (b != max) {
second_max = b;
} else if (c != max) {
second_max = c;
} else {
second_max = d;
}
if (second_max < a && a < max) {
second_max = a;
} else if (second_max < b && b < max) {
second_max = b;
} else if (second_max < c && c < max) {
second_max = c;
} else if (second_max < d && d < max) {
second_max = d;
}
printf("最大值为:%d\n", max);
printf("次最大值为:%d\n", second_max);
return 0;
}
```
### 回答2:
可以使用C语言的输入输出函数scanf和printf来实现从键盘输入四个整数,并通过比较得到最大值和次最大值。
具体的步骤如下:
1. 首先,需要定义四个整数变量a、b、c、d来保存输入的四个整数。
2. 使用scanf函数从键盘输入四个整数,并依次赋值给a、b、c、d。
```c
printf("请输入四个整数:\n");
scanf("%d %d %d %d", &a, &b, &c, &d);
```
3. 初始化两个变量max和secondMax,分别用来保存最大值和次最大值的初始值。假设初始值为最小的整数,可以选择INT_MIN作为初始值。
```c
int max = INT_MIN;
int secondMax = INT_MIN;
```
4. 通过比较,更新max和secondMax的值。
```c
if (a > max) {
secondMax = max;
max = a;
} else if (a > secondMax) {
secondMax = a;
}
if (b > max) {
secondMax = max;
max = b;
} else if (b > secondMax) {
secondMax = b;
}
// 以此类推,对c和d进行比较
```
5. 最后,使用printf函数输出最大值和次最大值。
```c
printf("最大值:%d\n", max);
printf("次最大值:%d\n", secondMax);
```
这样就可以通过C语言从键盘输入四个整数,求出最大值和次最大值。
### 回答3:
使用C语言编写程序,从键盘上输入四个整数,然后找出其中的最大值和次最大值。下面是一种实现方法:
```c
#include <stdio.h>
int main() {
int num1, num2, num3, num4;
int max, second_max;
printf("请输入四个整数:\n");
scanf("%d %d %d %d", &num1, &num2, &num3, &num4);
// 假设第一个数为最大值和次最大值
max = num1;
second_max = num1;
if (num2 > max) {
second_max = max;
max = num2;
} else if (num2 > second_max) {
second_max = num2;
}
if (num3 > max) {
second_max = max;
max = num3;
} else if (num3 > second_max) {
second_max = num3;
}
if (num4 > max) {
second_max = max;
max = num4;
} else if (num4 > second_max) {
second_max = num4;
}
printf("最大值为:%d\n", max);
printf("次最大值为:%d\n", second_max);
return 0;
}
```
当运行程序时,它会要求用户输入四个整数。程序将首先假设第一个数为最大值和次最大值,然后依次比较后面的数与当前最大值和次最大值的大小关系。如果一个数比最大值大,则将原来的最大值作为次最大值,并更新最大值为当前数;如果一个数比次最大值大,则更新次最大值为当前数。最终,程序输出最大值和次最大值。
请注意,在这个程序中,如果输入的四个数存在相等的情况,则次最大值将与最大值相等。如果需要进行处理,请酌情修改程序逻辑。
阅读全文