[蓝蓝计算机考研算法训练二期]-day10

93 阅读1分钟

15、奇偶数分离

有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。

  • 输入 第一行有一个整数i(2<=i<30)表示有 i 组测试数据;每组有一个整型偶数n。
  • 输出 第一行输出所有的奇数。第二行输出所有的偶数

思路

先读取有多少组测试数据,当输入值符合条件时,进行下面的循环,在循环体内进行奇数和偶数的输出。

具体实现

int main() {
	int i, n, j;
	
	scanf("%d", &i);
	printf("\n");
	if (i >= 2 && i < 30) {
		while (i) {
			scanf("%d", &n);
			if (n >= 2 && n <= 10000){
				for (j = 1; j <= n; j += 2)
					printf("%d ", j);
				printf("\n");
				for (j = 2; j <= n; j += 2)
					printf("%d ", j);
				printf("\n\n");
			}
			i--;
		}
	}
	
	return 0;
}

image.png

小结

今天的算法不难,但是如何生成较为简洁高效的算法需要想想办法,我这里用的是循环嵌套的方法,循环体内是遍历输出。