• 做题记录--day53


    PAT A1005

    注意看数字范围,还有就是是非负数(len1需要单独处理),以及空格的处理

    刚开始把nine打错了 找了半天

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    void shuchu(int n)
    {
        if(n==1) printf("one");
        else if(n==2) printf("two");
        else if(n==3) printf("three");
        else if(n==4) printf("four");
        else if(n==5) printf("five");
        else if(n==6) printf("six");
        else if(n==7) printf("seven");
        else if(n==8) printf("eight");
        else if(n==9) printf("nine");
        else printf("zero");
    }
    int main()
    {
        char num[10000];
        scanf("%s",&num);
        int count=1;
        int n=0;
        for(int i=0;i<strlen(num);i++)
        {
            n+=num[i]-'0';
        }
        while(count<n)
            count=count*10;
        count=count/10;
        if(n<10)
            shuchu(n);
        else
        {
            while(count>1)
            {
                shuchu(n/count);
                printf(" ");
                n=n%count;
                count=count/10;
            }
            shuchu(n);
        }
        return 0;
    }
    View Code

     PAT A1077

    注意带空格的要单独读取(并且这么读取以后使用%s可能会出现问题)

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<algorithm>
    using namespace std;
    int main()
    {
        int n;
        char str[105][300];
        int strl[105];
        scanf("%d",&n);
        getchar();
        for(int i=0;i<n;i++)
        {
            int j=0;
            while(scanf("%c",&str[i][j]) && str[i][j]!='
    ')
                j++;
                //printf("this:%c
    ",str[i][j]);
            str[i][j]='';
            strl[i]=j;
            //printf("strl[i]:%d
    ",strl[i]);
        }
        /*for(int i=0;i<n;i++)
            printf("%s",str[i]);*/
        int samelen=0;
        int len1,len2;
        samelen=strl[0];
        for(int i=1;i<n;i++)
        {
            len1=min(strl[i],samelen);
            int j=0;
            while(str[i-1][strl[i-1]-j-1]==str[i][strl[i]-j-1] && j<=len1-1)
                j++;
            samelen=j;
            //printf("samelen:%d
    ",samelen);
        }
        if(samelen==0) printf("nai");
        else
            for(int i=1;i<=samelen;i++)
                printf("%c",str[0][strl[0]-samelen+i-1]);
        return 0;
    }
    View Code
    时间才能证明一切,选好了就尽力去做吧!
  • 相关阅读:
    七-八章学习笔记
    Linux基础学习截图
    20191221第十章读书笔记
    第九章读书笔记
    20191221读书笔记
    缓冲区溢出
    团队作业(二):需求分析
    2019-2020-1 20191319 《信息安全专业导论》第十二周学习总结
    2019-2020-1 20191319 《信息安全专业导论》第十一周学习总结
    2019-2020-1 20191319 《信息安全专业导论》第十周学习总结
  • 原文地址:https://www.cnblogs.com/tingxilin/p/11479524.html
Copyright © 2020-2023  润新知