文章

47

粉丝

67

获赞

8

访问

13.0k

头像
整数奇偶排序 题解:
P1248 北京大学机试题
发布于2024年3月5日 21:04
阅读数 240

#include<stdio.h>
int k1 = 0;//偶数个数
int k2 = 0;//奇数个数
int main() {
	
	int s[105];
	int j[105];//奇数
	int o[105];//偶数

	for (int i = 0; i < 10; i++) {
		scanf("%d", &s[i]);//要加取地址符号
	}
	for (int i = 0; i < 10; i++) {//偶数
		if (s[i] % 2 == 0) {
			o[k1] = s[i];
			k1++;
		}
	}
	for (int i = 0; i < 10; i++) {//奇数
		if (s[i] % 2 != 0) {
			j[k2] = s[i];
			k2++;
		}
	}
	for (int i = 0; i < k2; i++) {//奇数
		for (int l = 0; l < k2 - 1 - i; l++) {
			if (j[l] < j[l + 1]) {//从大到小 小于符号 然后再交换一下
				int t = j[l];
				j[l] = j[l + 1];
				j[l + 1] = t;
			}
		}
	}
	for (int i = 0; i <k2 ; i++) {
		printf("%d ", j[i]);
	}
	for (int i = 0; i < k1; i++) {//偶数
		for (int l = 0; l < k1 - 1 - i; l++) {
			if (o[l] > o[l+1]) {//从小到大 大于符号 然后再交换一下
				int t = o[l];
				o[l] = o[l+1];
				o[l+1] = t;
			}
		}
	}
	for (int i = 0; i < k1; i++) {
		printf("%d ", o[i]);
	}
	return 0;
}

第二种

#include<stdio.h...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发