#include #include using namespace std;

bool cmp(int a, int b) { // 如果a是奇数,b是偶数,则a应该在b前面 if (a % 2 == 1 && b % 2 == 0) { return true; } // 如果a是偶数,b是奇数,则a应该在b后面 else if (a % 2 == 0 && b % 2 == 1) { return false; } // 如果a和b都是奇数或都是偶数,则按照大小顺序排序 else { return a < b; } }

int main() { int n; cin >> n; int* cards = new int[n]; for (int i = 0; i < n; i++) { cin >> cards[i]; } sort(cards, cards + n, cmp); for (int i = 0; i < n; i++) { cout << cards[i] << " "; } delete[] cards; return 0;

C++且不使用vector头文件完成并提前使用using namespace std;:可多同学手里有 n 张卡片每张卡片上写了一个自然数他想把这些卡片里的奇数放前面偶数放后面并且奇数部分和偶数部分都从小到大排序请你写个程序帮帮他吧。输入描述输入有两行第一行是一个整数 n 0 n 100为卡片总数;第二行有 n 个整数分别为每张卡片上的数字输出描述输出 n 个整数用1个空格隔开样例1输入520

原文地址: https://www.cveoy.top/t/topic/hZr6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录