这个题目要求输出150以内的回文数 怎么才能把输出的151删去呀

#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;
	    }
	}
}
int main(void)
{
	int n,sum;
	scanf("%d",&n);
    printf("%d,",sum=s(n));
}

 

26行

if(i>99&&i<1000)改成if(i>99&&i<151)

仔细看了下,你这连int 函数需要返回值都没有,你的 printf("%d,",sum=s(n));是想表达什么意思?

#include<stdio.h>
void 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;
		}
	}
}
int main(void)
{
	int n, sum;
	scanf("%d", &n);
	s(n);
	return 0;
}