C语言中输出数字最后有个逗号不知道怎么去除
如图所示每行后边输出完了还带着个逗号这是我的代码求帮忙改下#include<stdio.h>intmain(){intn,i,sum;for(n=2;n<=1000;n+...
如图所示 每行后边 输出完了还带着个逗号
这是我的代码 求帮忙改下
# 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;
} 展开
这是我的代码 求帮忙改下
# 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;
} 展开
6个回答
展开全部
if(n%i==0) printf("%d,",i); 很明显在printf括号中前面双引号中的一般字符原样输出所以%d后面的逗号会原样输出!去掉%d后面的哪个逗号即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(n%i==0) printf("%d,",i);//吧%d后面的逗号去掉就好
追问
不行 这样的话数字之间间隔的逗号也没了 我只想把最后一个逗号去掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=1;i<n;i++)
{
if(n%i==0)
{
if(i==1) printf("%d",i);
else printf(",%d",i);
} printf("\n");
}
{
if(n%i==0)
{
if(i==1) printf("%d",i);
else printf(",%d",i);
} printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用FanyongYin的回答:
printf("1"); /* n % 1 == 0 */
for(i=2;i<n;i++)
{
if(n%i==0) printf(", %d",i);
}
这样子既能照顾一行输出中间用逗号分隔,最后也不会多出来逗号了
printf("1"); /* n % 1 == 0 */
for(i=2;i<n;i++)
{
if(n%i==0) printf(", %d",i);
}
这样子既能照顾一行输出中间用逗号分隔,最后也不会多出来逗号了
展开全部
这样不是前面又多了一个逗号吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询