请问我的作答哪有问题,为什么得不到正确的结果

任务描述
输入一个正整数N,输出从1到N之间所有的奇数。

输入格式:
一个正整数。

输出格式:
输出从1到N之间所有的奇数,用逗号分隔。

输入样例:
20
输出样例:
1,3,5,7,9,11,13,15,17,19
输入样例:
200
输出样例:
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,
我的代码;
#include<stdio.h>
int main(){
int N;
scanf("%d",&N);
int i;
for (i=1;i<=N;i++){
if(i % 2!= 0){
printf("%d,",i);}
i++;
}
return 0;
}


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

输出是奇数 判断%2 不等于0 还有输出你以,开头了