大佬们 如何写才能使输出10个数之后换行呀

#include<stdio.h>
int s(int n)
{
	int i,sum=0,count=0;
	for(i=0;i<=n;i++)
	{
		int a,b,c,d;
	    if(i<=9)
	    {
	    	sum=i;
		    printf("%d,",sum);
	    }
		if(i>9&&i<=99)
		{
		   sum=i;
		   a=sum/10;
		   b=sum%10;
		   {
		     if(a==b)
		     printf("%d,",sum);;
		   }
	    }
		if(i>99&&i<1000)
		{
		   sum=i;
		   c=sum/100;
		   d=sum%100%10;
	       {
	    	if(c==d)
	    	printf("%d,",sum);
		   }
	    }
	}
		    if(count/10==1){
            printf("\n");
			count++;}
	return sum;
}
int main(void)
{
	int n,sum;
	scanf("%d",&n);
    printf("%d,",sum=s(n));
}

 

if(i%10==9) printf("\n");放for循环里的最后面

判断 i % 10 == 0 换行

你这个写的不对啊,count计数,怎么是在最后,一边打印一边计数呢?

应该是每输出一个数字,就计数加一,然后在循环结束的时候,判断计数是否达到10,达到了就换行。同时重置计数。

#include<stdio.h>
int s(int n)
{
	int i,sum=0,count=0;
	for(i=0;i<=n;i++)
	{
		int a,b,c,d;
	    if(i<=9)
	    {
	    	sum=i;
		    printf("%d,",sum);
		    count++;
	    }
		if(i>9&&i<=99)
		{
		   sum=i;
		   a=sum/10;
		   b=sum%10;
		   {
		     if(a==b){
		     	printf("%d,",sum);
		     	count++;
		     }
		     
		   }
	    }
		if(i>99&&i<1000)
		{
		   sum=i;
		   c=sum/100;
		   d=sum%100%10;
	       {
	    	if(c==d){
				printf("%d,",sum);
				count++;
	    	}
		   }
	    }

	    if(count == 10){
	    	printf("\n");
	    	count = 0;
	    }
	}

	printf("\n");
	return sum;
}
int main(void)
{
	int n,sum;
	scanf("%d",&n);
    printf("%d,",sum=s(n));
}