九度 1010

来源:互联网 发布:python google earth 编辑:程序博客网 时间:2024/05/18 14:13
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>
0 0