C语言求助大佬...有三个RE硬是找不出来
查看原帖
C语言求助大佬...有三个RE硬是找不出来
1548865
Tira_misu楼主2024/12/10 22:57
#include<stdio.h>
#include<string.h>
int main()
{
    char str[25];
    gets(str);
    int m = 0,n = 0,p = 0;
    for(int i = 0;str[i]!='\0';i++)  //判断输入的数类型
    {
        if(str[i]=='/')
        {
            m=i;
            break;
        }
        else if(str[i]=='.')
        {
            n=i;
            break;
        }
        else if(str[i]=='%')
        {
            p=i;
            break;
        }
    }
    if(m==0&&n==0&&p==0)                  //是整数
    {
        int a;
        for(int i = strlen(str)-1;i>=0;i--)
        {
            if(str[i]!='0')
            {
                a=i;
                break;
            }
        }
        for(int j = a;j>=0;j--)
        {
            printf("%c",str[j]);
        }
    }
    else if(m!=0)                      //是分数
    {
        int a,b;
        for(int i = m-1;i>=0;i--)
        {
            if(str[i]!='0')
            {
                a=i;
                break;
            }
        }
        for(int j = a;j>=0;j--)
        {
            printf("%c",str[j]);
        }
        printf("/");
        for(int i = strlen(str)-1;i>m;i--)
        {
            if(str[i]!='0')
            {
                b=i;
                break;
            }
        }
        for(int j = b;j>m;j--)
        {
            printf("%c",str[j]);
        }
    }
    else if(n!=0)               //是小数
    {
        int a,b;
        for(int i = n-1;i>=0;i--)
        {
            if((str[i]!='0')||(str[i]=='0'&&n==1))
            {
                a=i;
                break;
            }
        }
        for(int j = a;j>=0;j--)
        {
            printf("%c",str[j]);
        }
        printf(".");
        for(int i = n+1;i<=strlen(str)-1;i++)
        {
            if((str[i]!='0')||(str[i]=='0'&&i==strlen(str)-1))
            {
                b=i;
                break;
            }
        }
        for(int j = strlen(str)-1;j>=b;j--)
        {
            printf("%c",str[j]);
        }
    }
    else if(p!=0)           //是百分数
    {
        int a;
        for(int i = p-1;i>=0;i--)
        {
            if((str[i]!='0')||(str[i]=='0'&&i==0))
            {
                a=i;
                break;
            }
        }
        for(int j = a;j>=0;j--)
        {
            printf("%c",str[j]);
        }
        printf("%c",str[p]);
    }
    return 0;
}
2024/12/10 22:57
加载中...