一、题目与要求
题目内容:
班级第一次列队,通常老师会让同学按身高排成一列,然后1、2报数,喊到1的同学向前一 步,就这样,队伍就变成两列了。假设现在一个班级有n个同学,并且他们已经按身高排成 了一列,同学按身高从1到n编号,你能告诉我最后哪些编号的同学站在了第一列么?
输入格式:
输入一个正整数n,表示班级的人数。
输出格式:
按顺序输出所有在第一列的同学对应的编号,每两个编号之间用一个空格隔开,最后一个编号后面没有空格。
输入样例:
11
输出样例:
1 3 5 7 9 11
二、分析与代码
难点分析:主要是对于最后一项的选择与处理问题。
代码:
#include <stdio.h>
//分队列 分两列 输出第一列的结果 每项中间用空格隔开 但要求最后一项后没有空格。
int main(){
int n,i;
scanf("%d",&n);
//找到非最后一项的排列值
for (i=1; i<=n-2; i+=2){
printf("%d ",i);
}
//最后一项的排列输出
printf("%d",i);
}