这道题要注意几种特殊情况:
1、当输入的数字是这种情况时:“00012345”,应输出“54321” ,而不是“54321000”;
2、当输入是“000000”时,应输出“0”;
3、当输入是“01230”时,应输出“321”;
4、当输入是“0”时,应输出“0”;
5、其他情况按一般情况处理;
下面是我写的代码:
#include"stdio.h"
#include"string.h"
int main()
{
char a[20];
int i,k,m;
gets(a);
int sum = 0;
for(i = 0;i < strlen(a);i ++)
{
if(a[i] == '0')
{
sum = sum + 1;
}
}
if(sum == strlen(a))
{
printf("0");
}
if((a[0] == '0') && (a[1] == '\0'))
{
printf("0\n");
}
else if(a[0] == '0')
{
i = 0;
while(a[i] == '0')
{
i ++;
}
k = i;
i = strlen(a);
while(a[i - 1] == '0')
{
i --;
}
for(m = i - 1;m >= k;m --)
{
printf("%c",a[m]);
}
printf("\n");
}
else
{
i = strlen(a);
while(a[i - 1] == '0')
{
i --;
}
for(k = i - 1;k >= 0;k --)
{
printf("%c",a[k]);
}
printf("\n");
}
return 0;
}