算法练习-day01 判断质数和找出计算完全数
算法练习-day02 统计字符串中字符种类的个数和求两数的最小公倍数
算法练习-day03 小球下落走过的距离和自动判定程序
算法练习-day04 统计字符串中某字符出现的次数
算法练习-day05 反转输出链表
算法练习-day06 字符串法转
算法练习-day07 统计每个月兔子的总数
算法练习-day09 5个数求最值和ASCLL码排序
题目
有一个整形偶数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;
}
示例
总结
此题运用两次循环就能解决;思路清晰,把问题分解为两步完成即可。