杭电acm1228
来源:互联网 发布:六小龄童知乎扒皮 编辑:程序博客网 时间:2024/06/08 07:46
题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1228
我的解题思路:
①用一个char数组str1[]存放所有的输入数据。
②将str1[]数组 '+' 前面的字符串存入ch1[]中,后面的字符串存入ch2[]
③分别将ch1[]和ch2[]转换成对应的数字(利用int num(char *ch1,int n)函数转换的时候要判断每个字符串里面是包含一个字符串还是两个字符串)
④求和
源代码:
/*Problem Description读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.Input测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出. Output对每个测试用例输出1行,即A+B的值. Sample Inputone + two =three four + five six =zero seven + eight nine =zero + zero = Sample Output39096 Source浙大计算机研究生复试上机考试-2005年 2014/7/21 星期一*/#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX 25char str[][MAX]={"zero","one","two","three","four","five","six","seven","eight","nine"};int num(char *ch1,int n){int i,j,k;int flag;char c1[MAX],c2[MAX];int a;i=j=k=0;flag=1;c2[0]='\0';for(i=0;i<n;i++){if(ch1[i]!=' '&&flag){c1[j]=ch1[i];j++;}if(!flag){if(i==(n-1)){c2[k]='\0';break;}c2[k]=ch1[i];k++;}else if(' '==ch1[i]){c1[j]='\0';flag=0;//i++;for(k=0;k<10;k++){if(!strcmp(str[k],c1)){a=k;k=0;break;}}}}if(c2[0]!='\0'){a=a*10;for(k=0;k<10;k++){if(!strcmp(str[k],c2)){a=a+k;break;}}}return a;}int main(int argc, char *argv[]){int i;char str1[50];char ch1[MAX],ch2[MAX];int j,k;int flag;int a,b;while(gets(str1)){i=j=k=0;flag=1;memset(ch1,0,MAX);memset(ch2,0,MAX);for(i=0;str1[i]!='=';i++){if(str1[i]!='+'&&flag){ch1[j]=str1[i];j++;}if('+'==str1[i]){ch1[j]='\0';flag=0;i=i+2;}if(!flag){ch2[k]=str1[i];k++;if(str1[i+1]=='='){ch2[k]='\0';}}}a=num(ch1,j);b=num(ch2,k);if(0==a&&0==b){break;}printf("%d\n",a+b);}return 0;}
0 0
- 杭电acm1228
- 杭电acm1228
- 杭电
- 杭电
- 杭电
- 杭电 1234 和 杭电 2115
- 杭电2056之Rectangles 杭电
- 杭电ACM1061Rightmost Digit
- 杭电2099 7.11
- 杭电ACM 1003
- 杭电 ACM 2016
- 杭电ACM1466
- 杭电ACM1003
- 杭电ACM1225
- 杭电ACM2023
- 杭电ACM2602
- 杭电ACM2955
- 杭电ACM3198
- java中对象的引用与赋值
- BUPT暑假排位第四场
- 2014年最新前端开发面试题(题目列表+答案 完整版)
- extjs学习(一)
- TCP连接的建立于释放
- 杭电acm1228
- 线程同步互斥方式以及区别
- MySQL用户及数据安全专题
- java 动态代理
- java对象占用多少内存
- 建造优质网站推广优化策略使使命轻松的方法
- 建立linux ssh信任的方法与常见问题解决办法
- HDU 4864 Task(贪心)
- Linux下MySQL慢查询分析mysqlsla安装使用