C++ 代码,用户先输入元素个数n(n>2),然后依次输入这n个整数,输出其中最大和第二大数
时间: 2023-06-08 12:03:50 浏览: 249
好的,我可以回答这个问题。请参考下面的 C 代码:
```c
#include <stdio.h>
int main() {
int n, max = 0, secondMax = 0, num;
printf("请输入元素个数:");
scanf("%d", &n);
printf("请依次输入这 %d 个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &num);
if (num > max) {
secondMax = max;
max = num;
} else if (num > secondMax && num != max) {
secondMax = num;
}
}
printf("最大数是:%d\n", max);
printf("第二大数是:%d\n", secondMax);
return 0;
}
```
这个程序会先让用户输入元素个数 n,然后会逐个读入这 n 个整数,并找出其中的最大值和第二大值。最后输出这两个值。
相关问题
使用C++链表完成 元素次序 描述 输入一组数据,依次输出每个元素在升序排序后的次序,输入数据保证每个输入数据都是唯一的。 输入 第一行输入一个整数正整数N,第二行输入N个不相同的整数,每个数不超过整型范围。 输出 依次输出每个数的排名。
好的,我来给你提供一个用C++链表实现的代码。这里我使用STL中的list容器来实现链表,代码如下:
```c++
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
list<int> nums;
for(int i = 0; i < n; i++)
{
int num;
cin >> num;
nums.push_back(num);
}
list<int> sorted_nums(nums);
sorted_nums.sort();
for(int num : nums)
{
cout << distance(sorted_nums.begin(), find(sorted_nums.begin(), sorted_nums.end(), num)) + 1 << endl;
}
return 0;
}
```
这段代码会先读入一个整数N,然后读入N个不同的整数,将它们存入list容器nums中。接着,将nums复制一份存入另一个list容器sorted_nums中,并对sorted_nums进行升序排序。最后,遍历nums中的每个元素num,使用find函数在sorted_nums中查找num,并使用distance函数计算num在sorted_nums中的下标加1,即为每个元素的排名。
c++怎么写从键盘读入 n 个整数,请问这 n 个整数的最大数是多少?,输入第1行读入一个整数 n (n≤100);第2行读入 n 个整数。 输出 输出数组中的最大数。 样例 输入复制 5 2 1 5 3 4 输出复制 5
在C++中,你可以使用`cin`来从键盘读取输入,并通过遍历和比较的方式找出最大的数。下面是一个简单的示例程序:
```cpp
#include <iostream>
int main() {
int n;
// 读取整数n
std::cout << "请输入整数的数量(n): ";
std::cin >> n;
// 声明一个动态大小的整数数组
int* numbers = new int[n];
// 读取n个整数
for (int i = 0; i < n; i++) {
std::cout << "请输入第 " << (i + 1) << " 个整数: ";
std::cin >> numbers[i];
}
// 初始化最大值为第一个元素
int max_number = numbers[0];
// 遍历数组找到最大值
for (int i = 1; i < n; i++) {
if (numbers[i] > max_number) {
max_number = numbers[i];
}
}
// 输出最大数
std::cout << "数组中的最大数是: " << max_number << std::endl;
// 释放内存
delete[] numbers;
return 0;
}
```
运行这个程序,按照提示依次输入数字,然后它会告诉你最大的那个数。
阅读全文