洛谷P1307
程序员文章站
2022-06-08 14:25:59
...
思考:我认为这道题的重点是关于0的取舍当结尾出现0时当翻转过来时要被舍弃在0再中间的时候不能被舍去我们发现当翻转后的第一个数不为0的时候,那他后面的0不能舍弃
#include <stdio.h>
int main()
{
int num;
int sum = 0;
int i = 0,j;
int b = 0;
int str[100];
//printf("%d\n",str[0]);
int a;
scanf("%d",&num);
while(num != 0)
{
a = num % 10;
num = num / 10;
//printf("a = %d\t",a);
if(a != 0 || (str[b] != 0 && a == 0))//因为如果没有str[b]如果中间得数有一个为0那条件就不成立了,所以str[0]开始系统默认值第一个不为0得数可以通过判断,这个时候str[0]就是不为0的
{
str[i] = a;
if(b == 0)
{
b = i;
}
i ++;
}
//printf("b = %d\n",b);
}
for(j = 0;j < i;j ++)
{
sum = str[j] + sum * 10;
}
printf("%d",sum);
}
上一篇: 图片缓存的问题