时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:7166

解决:3646

题目描述:
读入两个小于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年浙江大学计算机及软件工程研究生机试真题

思路:

基本的字符串处理题,没什么难度。

C语言读取一行可以用gets(s)。

代码:

#include <stdio.h>
#include <string.h> char praseStr(char s[20])
{
char c;
switch(s[0])
{
case 'z':
c = '0';
break;
case 'o':
c = '1';
break;
case 't':
if (strcmp(s, "two") == 0)
c = '2';
else
c = '3';
break;
case 'f':
if (strcmp(s, "four") == 0)
c = '4';
else
c = '5';
break;
case 's':
if (strcmp(s, "six") == 0)
c = '6';
else
c = '7';
break;
case 'e':
c = '8';
break;
case 'n':
c = '9';
break;
default:
c = s[0];
break;
} return c;
} int main(void)
{
char s[6][20];
char c[6];
int count;
int a, b; while (1)
{
count = 0;
while (scanf("%s", s[count]))
{
c[count] = praseStr(s[count]);
count ++;
if (c[count-1] == '=')
break;
} a = 0;
b = 0;
for (int i=0; i<count; i++)
{
if (c[i] == '+' || c[i] == '=')
continue;
if (i < 2)
a = a*10 + c[i]-48;
else
b = b*10 + c[i]-48;
//printf("%d\n", a);
//printf("%d\n", b);
} if (a == 0 && b == 0)
break; printf("%d\n", a+b);
} return 0;
}
/**************************************************************
Problem: 1010
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/

九度OJ 1010:A + B (字符串处理)的更多相关文章

  1. 九度OJ题目1105:字符串的反码

    tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ...

  2. 九度OJ 1010:计算A+B【字符串和数组】

    /*======================================================================== 题目1010:A + B 时间限制:1 秒内存限制 ...

  3. 九度OJ 1362 左旋转字符串(Move!Move!!Move!!!)【算法】

    题目地址:http://ac.jobdu.com/problem.php?pid=1362 题目描述: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运 ...

  4. 九度OJ 1010 A +B

    #include <iostream> #include <string> #include <sstream> using namespace std; int ...

  5. 九度oj 题目1135:字符串排序

    题目描述: 先输入你要输入的字符串的个数.然后换行输入该组字符串.每个字符串以回车结束,每个字符串少于一百个字符. 如果在输入过程中输入的一个字符串为“stop”,也结束输入. 然后将这输入的该组字符 ...

  6. 九度oj 题目1369:字符串的排列

    题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入: 每个 ...

  7. 九度oj 题目1206:字符串连接

    题目1206:字符串连接 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:5117 解决:2373 题目描述: 不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来 ...

  8. 九度oj 题目1490:字符串链接

    题目1490:字符串链接 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2610 解决:1321 题目描述: 不用strcat 函数,自己编写一个字符串链接函数MyStrcat(char ...

  9. 九度oj 题目1054:字符串内排序

    题目1054:字符串内排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:10985 解决:5869 题目描述: 输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串 ...

随机推荐

  1. 4C 2018 福到了

    输入字符c(只含有@和空格).数字n.规模n*n的二维字符矩阵. 若倒过来的数组和原数组一样形式输出提示. 最后输出以字符c替换的字符数组. #include <bits/stdc++.h> ...

  2. Machine Learning Done Wrong【转】

    1. Take default loss function for granted Many practitioners train and pick the best model using the ...

  3. 某考试T2 frog

    题目背景 无 题目描述 数轴上有 n 只青蛙,分别编号为 1 到 n.青蛙 i 的初始位置的坐标为 xi. 它们准备进行如下形式的移动:每轮包括 m 次跳跃,第 i 次跳跃由青蛙 ai(1 < ...

  4. zoj 2615 Cells 栈的运用

    题目链接:ZOJ - 2615 Scientists are conducting research on the behavior of a newly discovered Agamic Cell ...

  5. jquery_final

    第一章 jquery入门 1,jquery的引入 <script type="text/javascript" src="js/jquery-3.3.1.min.j ...

  6. 串口调试利器--Minicom配置及使用详解.md

    因为现在电脑基本不配备串行接口,所以,usb转串口成为硬件调试时的必然选择.目前知道的,PL2303的驱动是有的,在dev下的名称是ttyUSB*. Minicom,是Linux下应用比较广泛的串口软 ...

  7. Netty通过心跳保持长链接

    Netty自带心跳检测功能,IdleStateHandler,客户端在写空闲时主动发起心跳请求,服务器接受到心跳请求后给出一个心跳响应.当客户端在一定时间范围内不能够给出响应则断开链接. public ...

  8. mysql left join中on后加条件判断和where中加条件的区别

    left join中关于where和on条件的几个知识点: .多表left join是会生成一张临时表,并返回给用户 .where条件是针对最后生成的这张临时表进行过滤,过滤掉不符合where条件的记 ...

  9. UNP学习笔记(第十四章 高级I/O函数)

    本章讨论我们笼统地归为“高级I/O”的各个函数和技术 套接字超时 有3种方法在涉及套接字的I/O操作上设置超时 1.调用alarm,它在指定超时时期满时产生SIGALRM信号 2.在select中阻塞 ...

  10. apue学习笔记(第七章 进程环境)

    本章将了解进程的环境. main函数 C程序总是从main函数开始执行,main函数的原型是: int main(int argc,char *argv[]); 其中,argc是命令行参数的数目,ar ...