请问一下们我的分队列代码哪里错了?

问题遇到的现象和发生背景

题目内容:

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

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

输出格式:

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

输入样例:
11

输出样例:
1 3 5 7 9 11

用代码块功能插入代码,请勿粘贴截图

#include
#include

int main()
{
int n,i;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
if(i%2!=0)
{

        printf("%d",i);
        if(i==n)
        {
            break;
        }
        printf(" ");
    }
}
return 0;

}

运行结果及报错内容

用例1未通过 0ms 0kb
请检查程序输出的格式

条件 i==n 改成 i>=n-1,要考虑到人数是单数和双数两种情况