奇偶数分离
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。
-
输入
-
第一行有一个整数i(2<=i<30)表示有 i 组测试数据;
每组有一个整型偶数n。
输出
-
第一行输出所有的奇数
第二行输出所有的偶数
样例输入
-
2 10 14
样例输出
-
1 3 5 7 9 2 4 6 8 10 1 3 5 7 9 11 13 2 4 6 8 10 12 14
-
第一行有一个整数i(2<=i<30)表示有 i 组测试数据;
一个格式控制输出的问题,判断奇数偶数的时候,可以用这个数对2取余数是否为0来判断,但是一定要注意控制格式问题!
也能用他的二进制码对1相与来判断逻辑结果是否为真来判断
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int a,b,c,num,i;
scanf("%d",&num);
while(num--)
{
scanf("%d",&a);
if(a%2)
{
for(i=1;i<a;i++)
if(i%2)
printf("%d ",i);
printf("%d\n",a);
for(i=2;i<a-1;i++)
if(i%2==0)
printf("%d ",i);
printf("%d\n",i);
}
else
{
for(i=1;i<a-1;i++)
if(i%2)
printf("%d ",i);
printf("%d\n",i);
for(i=2;i<a;i++)
if(i%2==0)
printf("%d ",i);
printf("%d\n",i);
}
}
return 0;
}