题目
有一个整形偶数n(2<=n<=100000),你要做的是:先把1到n的所有奇数从小到大输出,再把所有的偶数从小到大输出。
- 输出: 第一行一行整数i(2<=i<=30)表示有i组测试数据;每组有一个整形偶数n。
- 输入:第一行输出所有的奇数。第二行输出所得偶数。
思路
先用for循环遍历2到n的所有数,将奇数,偶数分离出来。再在外面套一个for循环用来表示有i组数据。
算法实现
#include <stdio.h>
int main()
{
int j;
scanf("%d",&j);//用来接收i,表示有几行数据
for(int a=0;a<j;a++){
int n;
scanf("%d",&n);
//分离奇偶数并从小到大排序
for(int i=2;i<=n;i++){
if(i%2==0)
{
printf(" %d",i);
}
}
printf("\n");
for(int i=2;i<=n;i++){
if(i%2==1)
{
printf(" %d",i);
}
}
printf("\n");
}
return 0;
}
示例
总结
此题运用两次循环就能解决;思路清晰,把问题分解为两步完成即可。