九度OJ 1010:计算A+B【字符串和数组】
/*======================================================================== 题目1010:A + B 时间限制:1 秒内存限制:32 兆 题目描述: 读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的每一位数字由对应的英文单词给出. 输入: 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出. 输出: 对每个测试用例输出1行,即A+B的值. 样例输入: one + two = three four + five six = zero seven + eight nine = zero + zero = 样例输出: 3 90 96 来源: 2005年浙江大学计算机及软件工程研究生机试真题 ==========================================================================*/

1 #include<stdio.h> 2 #include<string.h> 3 char a[10][30]={"zero","one","two","three","four","five","six","seven","eight","nine"}; 4 int fun(char t[]) 5 { 6 int i=0; 7 while(t[i]!='\0') 8 { 9 if(t[i]>='A'&&t[i]<='Z') 10 { 11 t[i]=t[i]+32; 12 } 13 i++; 14 } 15 for(i=0;i<10;i++) 16 { 17 if(strcmp(t,a[i])==0) return i; 18 } 19 } 20 int main() 21 { 22 int a,b,c; 23 char t[30]; 24 freopen("1010.in","r",stdin); 25 while(scanf("%s",t)!=EOF) 26 { 27 a=0; 28 while(strcmp(t,"+")!=0) 29 { 30 c=fun(t); 31 a=a*10+c; 32 scanf("%s",t); 33 } 34 35 b=0; 36 scanf("%s",t); 37 while(strcmp(t,"=")!=0) 38 { 39 c=fun(t); 40 b=b*10+c; 41 scanf("%s",t); 42 } 43 if(a!=0&&b!=0) 44 printf("%d\n",a+b); 45 } 46 return 0; 47 }
网上提交时记得把freopen给删掉。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App