1 条题解

  • 0
    @ 2024-12-22 11:04:02

    C :

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char s[10],ch;
        int sum=0,ans=0;
    	while(scanf("%s",s)!=EOF)
    	{
    		if(!strcmp(s,"negative"))      printf("-");
            else if(!strcmp(s,"zero"))     sum+=0;
            else if(!strcmp(s,"one"))      sum+=1;
            else if(!strcmp(s,"two"))      sum+=2;
            else if(!strcmp(s,"three"))    sum+=3;
            else if(!strcmp(s,"four"))     sum+=4;
            else if(!strcmp(s,"five"))     sum+=5;
            else if(!strcmp(s,"six"))      sum+=6;
            else if(!strcmp(s,"seven"))    sum+=7;
            else if(!strcmp(s,"eight"))    sum+=8;
            else if(!strcmp(s,"nine"))     sum+=9;
            else if(!strcmp(s,"ten"))      sum+=10;
            else if(!strcmp(s,"eleven"))   sum+=11;
            else if(!strcmp(s,"twelve"))   sum+=12;
            else if(!strcmp(s,"thirteen")) sum+=13;
            else if(!strcmp(s,"fourteen")) sum+=14;
            else if(!strcmp(s,"fifteen"))  sum+=15;
            else if(!strcmp(s,"sixteen"))  sum+=16;
            else if(!strcmp(s,"seventeen"))sum+=17;
            else if(!strcmp(s,"eighteen")) sum+=18;
            else if(!strcmp(s,"nineteen")) sum+=19;
            else if(!strcmp(s,"twenty"))   sum+=20;
            else if(!strcmp(s,"thirty"))   sum+=30;
            else if(!strcmp(s,"forty"))    sum+=40;
            else if(!strcmp(s,"fifty"))    sum+=50;
            else if(!strcmp(s,"sixty"))    sum+=60;
            else if(!strcmp(s,"seventy"))  sum+=70;
            else if(!strcmp(s,"eighty"))   sum+=80;
            else if(!strcmp(s,"ninety"))   sum+=90;
            else if(!strcmp(s,"hundred"))  sum*=100;
            else if(!strcmp(s,"thousand"))
    		{
    			ans+=sum*1000;
                sum=0;
    		}
            else if(!strcmp(s,"million"))
    		{
                ans+=sum*1000000;
                sum=0;
    		}
    
            ch=getchar();
    
            if(ch=='\n')
    		{
    			printf("%d\n",ans+sum);
                sum=0;
                ans=0;
    		}
    	}
        return 0;
     }
    

    C++ :

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #define maxn 100
    char s[maxn];
    int sum=0,ans=0;
    int main()
    {
        while(scanf("%s",s)!=EOF)
        {
            if(!strcmp(s,"negative"))printf("-");
            else if(!strcmp(s,"zero"))sum+=0;
            else if(!strcmp(s,"one"))sum+=1;
            else if(!strcmp(s,"two"))sum+=2;
            else if(!strcmp(s,"three"))sum+=3;
            else if(!strcmp(s,"four"))sum+=4;
            else if(!strcmp(s,"five"))sum+=5;
            else if(!strcmp(s,"six"))sum+=6;
            else if(!strcmp(s,"seven"))sum+=7;
            else if(!strcmp(s,"eight"))sum+=8;
            else if(!strcmp(s,"nine"))sum+=9;
            else if(!strcmp(s,"ten"))sum+=10;
            else if(!strcmp(s,"eleven"))sum+=11;
            else if(!strcmp(s,"twelve"))sum+=12;
            else if(!strcmp(s,"thirteen"))sum+=13;
            else if(!strcmp(s,"fourteen"))sum+=14;
            else if(!strcmp(s,"fifteen"))sum+=15;
            else if(!strcmp(s,"sixteen"))sum+=16;
            else if(!strcmp(s,"seventeen"))sum+=17;
            else if(!strcmp(s,"eighteen"))sum+=18;
            else if(!strcmp(s,"nineteen"))sum+=19;
            else if(!strcmp(s,"twenty"))sum+=20;
            else if(!strcmp(s,"thirty"))sum+=30;
            else if(!strcmp(s,"forty"))sum+=40;
            else if(!strcmp(s,"fifty"))sum+=50;
            else if(!strcmp(s,"sixty"))sum+=60;
            else if(!strcmp(s,"seventy"))sum+=70;
            else if(!strcmp(s,"eighty"))sum+=80;
            else if(!strcmp(s,"ninety"))sum+=90;
            else if(!strcmp(s,"hundred"))
            {
                sum*=100;
            }
            else if(!strcmp(s,"thousand"))
            {
                ans+=sum*1000;
                sum=0;
            }
            else if(!strcmp(s,"million"))
            {
                ans+=sum*1000000;
                sum=0;
            }
            char ch=getchar();
            if(ch=='\n')
            {
                printf("%d\n",ans+sum);
                sum=0;
                ans=0;
            }
        }
        return 0;
    }
    
    • 1

    信息

    ID
    238
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者