给出n个整数,求出其中第二小的值。 提示: 先从a[1]~a[n]找最小值,与a[1]交换。再从a[2]~a[n]找最小值,与a[2]交换。最后输出a[2]。 输入: 共两行。 第一行为一个整数n(n<100),表示数组长度。 第二行为n个整数,代表数组中的数字。 输出: 一个整数,表示数组中的次小值。 输入样例: 5 4 3 5 2 6 输出样例: 3 用时/内存: 1000MS/100MB用C++简答 回答篇幅:简单明了
```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; int a[100]; for (int i = 0; i < n; i++) { cin >> a[i]; } // 找最小值并与a[0]交换 int minIndex1 = 0; for (int i = 1; i < n; i++) { if (a[i] < a[minIndex1]) { minIndex1 = i; } } swap(a[0], a[minIndex1]); // 从a[1]~a[n-1]找最小值并与a[1]交换 int minIndex2 = 1; for (int i = 2; i < n; i++) { if (a[i] < a[minIndex2]) { minIndex2 = i; } } swap(a[1], a[minIndex2]); cout << a[1] << endl; return 0; } ``` [2026-02-07 21:19:29 | AI问答 | 260点数解答]
相关提问
- [字节豆包] 给出n个整数,求出其中第二小的值。 提示: 先从a[1]~a[n]找最小值,与a[1]交换。再从a[2]~a[n]找最小值,与a[2]交换。最后输出a[2]。 输入: 共两行。 第一行为一个整数n(n<100),表示数组长度。 第二行为n个整数,代表数组中的数字。 输出: 一个整数,表示数组中的次小值。 输入样例: 5 4 3 5 2 6 输出样例: 3 用时/内存: 1000MS/100MB用C++简答 回答篇幅:简单明了(260点数解答 | 2026-02-07 21:19:29)3
- [字节豆包] 题目描述 午饭时间,喵喵喵幼儿园的n位小朋友从左到右排成一列等待领取自己的午餐。我们 将这些小朋友从左到右依次标号为 1,2,⋯,n−1,n。 负责配餐的老师已经拿到了所有人的午饭餐食,餐食同样也是从左到右排成一排。 老师手里拿到了一份序列 r1 ⋯rn,代表编号为i的小朋友应该拿到从左向右数第 ri份 午餐餐食(1≤ri≤n且 ri两两不同)。 按照上面的序列分发完成后,老师又拿到了一个序列 a1⋯an,其中 a i代表未分发前从 左向右数第 i 份餐食的一个参数。 老师想要知道,对每个小朋友,他们所拿到的午餐的这个参数的值是多少。但是这个 任务对于老师来说太难了,所以喵喵喵幼儿园找到了万能的你。 输入格式 共三行。 第一行一个整数,代表 n。 第二行 n 个整数,代表 r1⋯rn。 第三行 n 个整数,代表 a1⋯an。 输出格式 一行,n 个整数。第 i 个整数代表编号为 i 的小朋友所拿到的午餐的这个参数是多 少。 输入输出样例 输入 #1 4 4 1 3 2 7 4 2 9 输出 #1 9 7 2 4 说明/提示 样例解释 编号(481点数解答 | 2025-11-16 19:24:11)56
- [字节豆包] 编写程序,在一个整数数组中寻找第一个满足特定条件的数并输出。这个特定条件是:从1累加到该数字的和大于50。 输入: 两行。 第一行一个数字n,表示一共有n个数字(n<100). 第二行n个数字,中间用空格隔开。 输出: 一个数,表示数组中满足特定条件的第一个数。如果没有满足特定条件的数,则不输出。 输入样例: 5 9 6 10 20 15 输出样例: 10 用时/内存: 1000MS/100MB 提示: 样例解释: 从1累加到10的和等于55,大于50,是数组中第一个满足特定条件的数字,因此输出10,结束后续的查找。用C++简答 回答篇幅:简单明了(138点数解答 | 2026-01-24 20:29:44)22
- [字节豆包] 请你补全代码,把数组a的所有元素都赋值为100。 输入: 无 输出: 共二十行,每行一个整数,为数组中的每个数。 输入样例: 无 输出样例: 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100#include <iostream> using namespace std; int main() { int a[20]; for ( ) { } for (int i = 0; i < 20; i++) { cout << a[i] << endl; } return 0; }(164点数解答 | 2025-11-01 19:14:57)84
- [字节豆包] 输入一个两位数,如果这个数是素数,并且把它的个位和十位颠倒之后,依然是个素数,就认为它是一个特别的素数。例如73就是一个特别的素数,而53不是,因为53倒过来变成35,而35不是素数。请你判断n是不是特别的素数。(保证n是一个两位数) 输入: 一个两位数n。 输出: 如果是一个特别的素数,就输出"yes",否则输出"no"。 输入样例: 73 输出样例: yes 用时/内存: 1000MS/100MB 提示: 提示:把一个两位数n的十位和个位颠倒,得到的数字是n%10*10+n/10。用C++简答 回答篇幅:简单明了(172点数解答 | 2026-01-17 20:31:09)19
- [字节豆包] 输出a~b范围内所有数字的因数,注意有一条特殊规则,如果这个数字是3的倍数,那么就略过。 提示:一个数字的因数能整除这个数,比如10的因数是1 2 5 10。 输入: 一行两个数字a, b,保证a<=b。 输出: a到b范围内所有数字的因数,每个数的因数输出在一行,中间用空格隔开。 输入样例: 10 15 输出样例: 1 2 5 10 1 11 1 13 1 2 7 14 用时/内存: 1000MS/100MB 提示: 样例解释: 因为10到15范围内,12和15是3的倍数,所以不输出这两个数字的因数,输出的四行表示的依次是10、用C++简答 回答篇幅:简单明了(134点数解答 | 2026-01-24 21:04:47)22
- [字节豆包] 两个相差为4的素数称为素数组,例如3和7,13和17,等等。下面请你帮助小核桃找出所有两个数均不大于x的素数组。 输入: 一个整数x(x<=100),表示所有找到的素数组都要小于等于x的范围。 输出: 若干行,每行为一对素数组。所有素数组,按照第一个数字的大小,从小到大输出。 输入样例1: 19 输出样例1: 3 7 7 11 13 17 输入样例2: 30 输出样例2: 3 7 7 11 13 17 19 23 用时/内存: 1000MS/100MB 提示: 1不是素数用C++简答 回答篇幅:简单明了(169点数解答 | 2026-01-31 19:54:44)12
- [字节豆包] 请你编写一个函数用来判断n是不是素数,并使用这个函数,输出x以内所有的素数(包括x)。 输入: 一个整数x(x<=20)。 输出: 若干个整数,为x以内(包括x)所有的素数,相邻数字之间用空格隔开。 输入样例: 10 输出样例: 2 3 5 7 用时/内存: 1000MS/100MB 提示: 注意:1不是素数。用C++简答 回答篇幅:简单明了(162点数解答 | 2026-01-31 19:32:18)11
- [字节豆包] 禾木在翡翠星的难题悬赏令上看见了一个问题:算出1到n之间所有数字的因数的总和。请你编程帮助禾木解决这个问题吧。 输入: 一个整数n(n<100)。 输出: 一个整数,表示1到n之间所有数字的因数的总和。 输入样例1: 4 输出样例1: 15 输入样例2: 5 输出样例2: 21 用时/内存: 1000MS/100MB 提示: 【样例1解释】 1的因数总和为1 2的因数总和为1 + 2 = 3 3的因数总和为1 + 3 = 4 4的因数总和为1 + 2 + 4 = 7 所以1到4之间所有数字的因数的总和为1 + 3 + 4 + 7 = 15。用C++简答(169点数解答 | 2026-01-31 19:15:17)9
- [字节豆包] 题目描述 给定m行n列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1.四周最外侧的像素点灰度值不变; 2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均值(四舍五入)。 输入格式 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1<=n<=100,1<=m<=100。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。 输出格式 m行,每行n个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。 输入样例 4 5 100 0 100 0 50 50 100 200 0 0 50 50 100 100 200 100 100 50 50 100 输出样例 100 0 100 0 50 50 80 100 60 0 50 80 100 90 200 100 100 50 50 100 说明/提示 用c++(655点数解答 | 2025-12-01 14:24:01)67
- [字节豆包] 挑战2 提示 设置 返回主界面 课程目录 花园里一共有n(n<100)朵花,从1到n排成一行。而朵朵打算让大家一共浇q轮水,每轮浇水的时候,朵朵会告诉大家从第L朵花开始到第R朵花为止,中间所有的花都浇一次水,包括两端。同时朵朵还需要大家回答出,浇完所有的水之后,每一朵花被浇了几次水。 输入: 第一行两个数n和q代表花的数量,和浇水轮数。 接下来q行,每行两个数L和R,表示每轮浇水的区间。 输出: 输出n个数,用空格隔开。依次表示每朵花被浇水的次数。 输入样例: 5 3 1 3 2 4 3 5 输出样例: 1 2 3 2 1 用时/内存: 1000MS/100MB 提示: 数组a[i]代表第i朵花的浇水次数。 花园里一共有n(n<100)朵花,从1到n排成一行。而朵朵打算让大家一共浇q轮水,每轮浇水的时候,朵朵会告诉大家从第L朵花开始到第R朵花为止,中间所有的花都浇一次水,包括两端。同时朵朵还需要大家回答出,浇完所有的水之后,每一朵花被浇了几次水。#include <iostream> using namespace std; int main() { (465点数解答 | 2026-02-07 21:11:53)3
- [字节豆包] 给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1.四周最外侧的像素点的值不变; 2.中间各像素点新值为该像素点及其上下左右相邻四个像素点值的平均数(向下取整)。 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。 接下来n行,每行m个整数,表示图像的每个像素点的值。相邻两个整数之间用单个空格隔开,每个元素均在0∼255之间。 输出 n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。 样例输入 复制 4 5 100 0 100 0 50 50 100 200 0 0 50 50 100 100 200 100 100 50 50 100 样例输出 复制 100 0 100 0 50 50 80 100 60 0 50 80 100 90 200 100 100 50 50 100(555点数解答 | 2025-12-09 12:22:26)71