#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));
}