洛谷-训练场-新手村-简单字符串-P1553 数字反转(升级版)

#include
#include

int main(){
    int numlen, xiaoshusign = 0, end=0;
    char num[100], pr[100];
    scanf("%s", num);
    numlen = strlen(num);
    for(int i=0,j=0; i 0 && pr[j-1] == '0') j--;
            for(int k=j-1; k>=end; k--) printf("%c", pr[k]);
            if(j-1 < end) printf("0");
            j = -1;
            if(i != numlen){
                printf("%c", num[i]);
                if(num[i] == '%') break;
            }
            if(num[i] == '.') xiaoshusign = 1;
        }
    }
    printf("\n");

    return 0;
}

解释:可以说是写的很乱七八糟东拼西凑了。

1.第18行解决输出0的问题,由此产生的问题是读取%后还会输出一个0;

2.为解决1中的问题,添加第22行;

3.第14行是解决小数的第二个数字末尾不能为0的问题(也只有在输出小数第二个数字时才会有此问题)

你可能感兴趣的:(洛谷)