全RE,求助
查看原帖
全RE,求助
826718
shuatijiqi楼主2023/8/2 17:02
#include <stdio.h>

char num[25]="";

int main(){
    int i=1;
    char c=getchar();
    int flag=0;
    int zheng=0,xiao=0,bai=0,fen=0;
    while(c!='\n'){
        if(c=='.'||c=='/'||c=='%'){
            flag=i;
        }
        if(c=='.'){
            xiao=1;
        }
        if(c=='/'){
            fen=1;
        }
        if(c=='%'){
            bai=1;
        }
        num[i++]=c;
        c=getchar();
    }

    if(xiao==0&&fen==0&&bai==0){
        zheng=1;
    }
    int len=i-1;

    if(zheng==1){
        for(int j=len;j>=1;j--){
            if(num[j]=='0'){
                len--;
            }
            if(num[j]!='0'){
                break;
            }
        }
        if(len==0){
            num[++len]='0';
        }
        for(int j=len;j>=1;j--){
            printf("%c",num[j]);
        }
    }

    if(xiao==1){
        int x=flag+1;
        for(int j=flag+1;j<=len;j++){
            if(num[j]=='0'){
                x++;
            }
            if(num[j]!='0'){
                break;
            }
        }

        int mark=flag;
        for(int k=flag-1;k>=1;k--){
            if(num[k]=='0'){
                flag--;
            }
            if(num[k]!='0'){
                break;
            }
        }
        if(flag==1){
            flag=2;
        }
        for(int i=flag-1;i>=1;i--){
            printf("%c",num[i]);
        }
        printf("%c",num[mark]);
        for(int j=len;j>=x;j--){
            printf("%c",num[j]);
        }

    }

    if(fen==1){
        for(int j=len;j>flag;j--){
            if(num[j]=='0'){
                len--;
            }
            if(num[j]!='0'){
                break;
            }
        }
        int mark=flag;
        for(int k=flag-1;k>=1;k--){
            if(num[k]=='0'){
                flag--;
            }
            if(num[k]!='0'){
                break;
            }
        }
        if(flag==1){
            flag=2;
        }
        for(int i=flag-1;i>=1;i--){
            printf("%c",num[i]);
        }
        printf("%c",num[mark]);
        for(int j=len;j>=mark+1;j--){
            printf("%c",num[j]);
        }
    }

    if(bai==1){
        for(int j=len-1;j>=1;j--){
            if(num[j]=='0'){
                len--;
            }
            if(num[j]!='0'){
                break;
            }
        }
        if(len==0){
            num[++len]='0';
        }
        for(int j=len-1;j>=1;j--){
            printf("%c",num[j]);
        }
        printf("%c",num[len+1]);
    }

    return 0;
}
2023/8/2 17:02
加载中...