提取并排序数组中的偶数

题目:提取并排序数组中的偶数

题目描述:

给定一个整数 n 和一个包含 n 个整数的数组,编写一个程序提取数组中的所有偶数,并按升序排序后输出。

输入格式:
  • 第一行包含一个整数 n (1 ≤ n ≤ 100,000),表示数组的元素个数。
  • 第二行包含 n 个整数,表示数组中的元素。每个整数的绝对值不超过 109109。
输出格式:
  • 输出所有偶数的升序排列,偶数之间用逗号分隔。如果数组中没有奇数,则不输出任何内容。
示例:

输入

6 3 1 4 2 4

输出

2,4,6

说明:

在上述示例中,数组中的偶数为 [6, 2, 4],经过排序后输出为 2, 4, 6。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int a[100000],n,cnt,x;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>x;
		if(x%2==0) a[cnt++]=x;
	}
	sort(a,a+cnt);
	cout<<a[0];
	for(int i=1;i<cnt;i++){
		cout<<','<<a[i];
	} 
    return 0;
}

这段代码的主要功能是从输入的整数中提取出所有的奇数,进行排序,并以逗号分隔的形式输出。以下是代码的逐行解读:

#include<bits/stdc++.h> using namespace std;

  • 引入了 C++ 标准库的头文件 bits/stdc++.h,它包含了大多数常用的 C++ 库。

int a[100000], n, cnt, x;

  • 定义了一个数组 a,大小为 100,000,用于存储奇数。
  • n 表示输入的整数个数。
  • cnt 用于记录奇数的数量。
  • x 用于存储当前输入的整数。

int main() { cin >> n;

  • main 函数的开始,读取用户输入的整数个数 n

for (int i = 1; i <= n; i++) { cin >> x;

  • 循环从 1 到 n,逐个读取整数 x

if (x % 2 == 0) a[cnt++] = x;

  • 判断 x 是否为偶数(即 x % 2 == 0),如果是,则将其存入数组 a 中,并将 cnt 递增。

sort(a, a + cnt);

  • 对存储的奇数进行升序排序。

cout << a[0];

  • 输出数组中第一个奇数(最小的奇数)。

for (int i = 1; i < cnt; i++) { cout << ',' << a[i]; }

  • 循环输出剩下的奇数,每个奇数前面加一个逗号,形成逗号分隔的格式。

return 0;

  • 返回 0,表示程序正常结束。

总结

这段代码的主要功能是:

  1. 从输入中读取一系列整数。
  2. 提取出其中的偶数,并将它们存入数组。
  3. 对奇数进行排序。
  4. 输出排序后的奇数,格式为用逗号分隔的字符串。

注意:

  • 输入的整数个数从 1 开始,而数组索引从 0 开始,因此在读取和处理时要特别注意。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值