C语言程序设计_zju——第3周编程练习2_分队列

2
分队列(5分)

题目内容:

班级第一次列队,通常老师会让同学按身高排成一列,然后1、2报数,喊到1的同学向前一 步,就这样,队伍就变成两列了。假设现在一个班级有n个同学,并且他们已经按身高排成 了一列,同学按身高从1到n编号,你能告诉我最后哪些编号的同学站在了第一列么? 

输入格式:

输入一个正整数n,表示班级的人数。

输出格式:

按顺序输出所有在第一列的同学对应的编号,每两个编号之间用一个空格隔开,最后一个编号后面没有空格。

输入样例:

11

输出样例:

1 3 5 7 9 11

时间限制:500ms内存限制:32000kb
 
 1 #include <stdio.h>
 2 int main(){
 3     int n,i;
 4     scanf("%d",&n);
 5     if(n%2){
 6         for(i=1;i<=n-2;i+=2){
 7             printf("%d ",i);
 8         }
 9         printf("%d",i);
10     }else if(!(n%2)){
11         for(i=1;i<=n-3;i+=2){
12             printf("%d ",i);
13         }
14         printf("%d",i);
15     }        
16     return 0;
17 }

 16min

我的解法

如果n是奇数

如果n是偶数

题目来源

程序设计入门——C语言_浙江大学_中国大学MOOC(慕课) http://www.icourse163.org/course/ZJU-199001

 
 
 
原文地址:https://www.cnblogs.com/gleamer/p/cweek3exercise2.html