九度 1010

1.无论是%s,还是cin输入都是遇见空格就停止输入,因此可以用gets(或者getline(cin,line);)来输入
2.关于枚举类型的问题,枚举是可以设定一系列值,不是一个结构,相当于定义变量,枚举定义时每个枚举值都有一个值,之后在定义枚举变量时,枚举变量是只可以赋值为枚举类型定义的变量

<div>#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;</div><div>
</div><div>//enum Number{zero=0,one,two,three,four,five,six,seven,eight,nine};</div><div>
</div><div>int StrtoNumber(char *number);
int numbertoint(int *number);</div><div>
</div><div>int main()
{
        char str[100];
        int a[3],b[3];
        char number[10];
        while(gets(str))
        {
               // cout<<str;
                a[0]=a[1]=a[2]=b[0]=b[1]=b[2]=-1;
                int m=0,n=0;
                int j=0;
                int flag=0;
                for(int i=0;str[i]!='\0';i++)
                {
                        if(str[i]=='+')
                        {
                                flag=1;
                        }</div><div>
</div><div>                        else if(str[i]!=' ')
                        {
                                number[j++]=str[i];
                        }
                        else if(str[i]==' ')
                        {
                                number[j]='\0';
                                //printf("//%s\n",number);
                                j=0;
                                if(flag==0 && number[0]!='\0')
                                {
                                        //printf("astr//%s\n",number);
                                        a[m++]=StrtoNumber(number);
                                       // printf("a##%d%d%d\n",a[0],a[1],a[2]);
                                }
                                else if(flag==1 && number[0]!='\0')
                                {
                                       // printf("bstr//%s\n",number);
                                        b[n++]=StrtoNumber(number);
                                       // printf("b##%d%d%d\n",b[0],b[1],b[2]);</div><div>
</div><div>                                }</div><div>
</div><div>                        }
                        else if(str[i]=='=')
                                break;
                }
                m=n=0;
                m=numbertoint(a);
                n=numbertoint(b);
                if(m==0&&n==0)
                        break;
                else
                        printf("%d\n",m+n);
        }
        return 0;
}</div><div>
</div><div>int StrtoNumber(char *number)
{
        int num=0;
        if(strcmp(number,"one")==0)
                num=1;
        else if(strcmp(number,"two")==0)
                num=2;
        else if(strcmp(number,"three")==0)
                num=3;
        else if(strcmp(number,"four")==0)
                num=4;
        else if(strcmp(number,"five")==0)
                num=5;
        else if(strcmp(number,"six")==0)
                num=6;
        else if(strcmp(number,"seven")==0)
                num=7;
        else if(strcmp(number,"eight")==0)
                num=8;
        else if(strcmp(number,"nine")==0)
                num=9;
        return num;
}</div><div>
</div><div>int numbertoint(int *number)
{
        int num;
        if((number[0]==0&&number[1]==0) || (number[0]==0&&number[1]==-1))
                num=0;
        else if((number[0]==0&&number[1]!=-1))
                num=number[1];
        else if((number[0]!=0)&&(number[1]==-1))
                num=number[0];
        else if((number[0]!=0)&&(number[1]!=-1))
                num=number[0]*10+number[1];
        return num;
}
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值