请问我写的代码有什么问题,为什么不对,哪不对,要怎么改正

我写的代码:
#include
int main(){
int N,i;
scanf("%d",&N);
for(i=1;i<=N;i++){
if(i==1&&N/i=0) printf("%d",i);
else printf(" %d",i);

}
return 0;

}
任务描述
编程输入一个正整数,输出它所有的约数。

输入格式:
一个正整数N。

输出格式:
从小到大输出N的所有约数,以空格分隔。

输入样例:
100
输出样例:
1 2 4 5 10 20 25 50 100

if-else 那里有问题。
改成

if (i==1)
    printf("%d", i);
else if (N%i==0)
    printf(" %d", i);

还有,你如果是做 NOJ 啥的,以空格结尾都行,直接 if (N%i==0) printf("%d ", i);,它一般不会特别要求你怎样不以空格结尾。

if(i==1&&N/i=0) printf("%d",i);
else printf(" %d",i);
改为
if(N%i==0)
{
if(i==1)
printf("%d",i);
else
printf(" %d",i);
}

N%i == 0