#8296: 提示各位注意!!


WG1994 (WG1994)

學校 : 不指定學校
編號 : 35383
來源 : [120.201.103.213]
最後登入時間 :
2014-04-18 22:20:33
a038. 數字翻轉 | From: [113.233.4.180] | 發表日期 : 2013-10-06 19:41

这道题要注意几种特殊情况:

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;

 
ZeroJudge Forum