C语言中输出数字最后有个逗号不知道怎么去除

如图所示 每行后边 输出完了还带着个逗号

这是我的代码 求帮忙改下
# include<stdio.h>
int main()
{
int n,i,sum;
for(n=2;n<=1000;n++)
{sum=0;
for(i=1;i<=n;i++)
{
if(n%i==0)
sum=sum+i;
if(sum==n)
{
printf("%d its factors are ",n);
for(i=1;i<n;i++)
{
if(n%i==0) printf("%d,",i);
} printf("\n");
}
}

}
return 0;
}

printf("1"); /* n % 1 == 0 */
for(i=2;i<n;i++)
{
if(n%i==0) printf(", %d",i);
}
这样子既能照顾一行输出中间用逗号分隔,最后也不会多出来逗号了
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-26
if(n%i==0) printf("%d,",i); 很明显在printf括号中前面双引号中的一般字符原样输出所以%d后面的逗号会原样输出!去掉%d后面的哪个逗号即可。
第2个回答  2013-02-26
if(n%i==0) printf("%d,",i);//吧%d后面的逗号去掉就好追问

不行 这样的话数字之间间隔的逗号也没了 我只想把最后一个逗号去掉

第3个回答  2013-02-26
for(i=1;i<n;i++)
{
if(n%i==0)
{
if(i==1) printf("%d",i);
else printf(",%d",i);
} printf("\n");
}
第4个回答  2018-04-02
这样不是前面又多了一个逗号吗?
相似回答