输入n个整数,求输出其中最大的两个数
时间: 2024-05-22 08:14:15 浏览: 11
这是一个常见的算法问题,属于数学或计算机科学类问题。我可以提供解决方案:
1. 用一个变量max记录最大值,一个变量secondMax记录次大值,初始值为负无穷。
2. 遍历整个数组,如果当前元素大于max,则将secondMax更新为max,max更新为当前元素;如果当前元素小于等于max但大于secondMax,则将secondMax更新为当前元素。
3. 遍历结束后,secondMax即为数组中的第二大值。
代码实现如下(假设数组名为arr):
int max = INT_MIN; // 宏定义的最小值
int secondMax = INT_MIN;
for(int i=0; i<n; i++){
if(arr[i] > max){
secondMax = max;
max = arr[i];
} else if(arr[i] <= max && arr[i] > secondMax){
secondMax = arr[i];
}
}
printf("最大的两个数分别为 %d,%d", max, secondMax);
注意:如果有多个元素都等于最大值(或次大值),则上述算法可能得出不准确的结果。在实际开发中需要根据需求进行修正。
相关问题
c语言,输入两个整数,输出其中的最大数
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int a, b;
printf("请输入两个整数:\n");
scanf("%d %d", &a, &b);
if (a > b) {
printf("最大数为:%d\n", a);
} else {
printf("最大数为:%d\n", b);
}
return 0;
}
```
这段代码会提示用户输入两个整数,然后使用 if 语句判断哪个数更大,并输出最大数。
编写程序:输入两个整数,输出其中最大者。
您好,这是一个简单的编程问题,我可以回答。以下是代码示例:
#include <stdio.h>
int main() {
int a, b;
printf("请输入两个整数:\n");
scanf("%d %d", &a, &b);
if (a > b) {
printf("最大值为:%d\n", a);
} else {
printf("最大值为:%d\n", b);
}
return ;
}
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)