为什么我这个没有空格打印,虽然不知道这样正确不。大一新生

题目内容:

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

输入格式:

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

输出格式:

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

输入样例:

11

输出样例:

1 3 5 7 9 11


#include
int main() 
{
    int n;
    scanf("%d",&n);
    int i;
    for(i = 1; i <= n; i++){
        if(i%2 !=0){
            printf("%d",i);
        }
    }
    printf("\n");
    return 0;
}

输出语句加个空格,因为最后一个要没有空格,所以也要特殊判断一下,参考如下:

 
#include<stdio.h>
int main() 
{
    int n;
    scanf("%d",&n);
    int i;
    for(i = 1; i <= n; i++){
        if (i%2 !=0)
        {
            if((i+2)<=n)
                printf("%d ",i);
            else
                printf("%d", i);
        }
    }
    printf("\n");
    return 0;
}

printf("%d",i);
->
printf("%d ",i);