C++且不使用vector头文件完成并提前使用using namespace std;:可多同学手里有 n 张卡片每张卡片上写了一个自然数他想把这些卡片里的偶数放前面奇数放后面并且奇数部分和偶数部分都从小到大排序请你写个程序帮帮他吧输入描述输入有两行第一行是一个整数 n 0 n 100000为卡片总数;第二行有 n 个整数分别为每张卡片上的数字输出描述520 4 2 3 1用例输入 1 520
#include
using namespace std;
int main() { int n; cin >> n;
int* cards = new int[n];
for (int i = 0; i < n; i++)
{
cin >> cards[i];
}
// 将偶数放前面,奇数放后面
int evenCount = 0;
for (int i = 0; i < n; i++)
{
if (cards[i] % 2 == 0)
{
swap(cards[i], cards[evenCount]);
evenCount++;
}
}
// 对偶数部分和奇数部分分别进行排序
sort(cards, cards + evenCount);
sort(cards + evenCount, cards + n);
// 输出结果
for (int i = 0; i < n; i++)
{
cout << cards[i] << " ";
}
delete[] cards;
return 0;
原文地址: https://www.cveoy.top/t/topic/hZrF 著作权归作者所有。请勿转载和采集!