/* THE PROGRAM IS MADE BY PYY */
/*----------------------------------------------------------------------------//
Copyright (c) 2012 panyanyany All rights reserved.
URL : http://acm.hdu.edu.cn/showproblem.php?pid=1228
Name : 1228 A + B
Date : Wednesday, February 08, 2012
Time Stage : half an hour
Result:
5328538 2012-02-08 11:53:44 Accepted 1228
0MS 152K 2470 B
C++ pyy
Test Data :
Review :
偶尔做一做简单题~~要注意zero zero + zero zero = 的情况
//----------------------------------------------------------------------------*/
#include <cstdio>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <algorithm>
using namespace std ;
#define MEM(a, v) memset (a, v, sizeof (a)) // a for address, v for value
#define max(x, y) ((x) > (y) ? (x) : (y))
#define min(x, y) ((x) < (y) ? (x) : (y))
#define INF (0x3f3f3f3f)
#define MAXN (103)
#define MAXE (MAXN*(MAXN-1)/2)
#define DEBUG /##/
// 字符串转为数字
inline int getint (char *sz)
{
int i = -1 ;
if (!strcmp (sz, "zero"))
i = 0 ;
else if (!strcmp (sz, "one"))
i = 1 ;
else if (!strcmp (sz, "two"))
i = 2 ;
else if (!strcmp (sz, "three"))
i = 3 ;
else if (!strcmp (sz, "four"))
i = 4 ;
else if (!strcmp (sz, "five"))
i = 5 ;
else if (!strcmp (sz, "six"))
i = 6 ;
else if (!strcmp (sz, "seven"))
i = 7 ;
else if (!strcmp (sz, "eight"))
i = 8 ;
else if (!strcmp (sz, "nine"))
i = 9 ;
return i ;
}
void scan_two (int &a, int &b)
{
char sz[100], num[100] ;
int t, shift ;
// 获得整行
gets (sz) ;
// get a
a = 0 ;
shift = 0 ;
while (1)
{
// 跳过多余的空格
while (*(sz+shift) == ' ')
++shift ;
// 提取一个单词
sscanf (sz + shift, "%s", num) ;
// 计算位移
shift += strlen (num) ;
if ((t = getint(num)) == -1) // 遇到'+'或'='则跳出
break ;
a = a * 10 + t ;
}
b = 0 ;
while (1)
{
while (*(sz+shift) == ' ')
++shift ;
sscanf (sz + shift, "%s", num) ;
shift += strlen (num) ;
if ((t = getint (num)) == -1)
break ;
b = b * 10 + t ;
}
}
int main ()
{
int a, b ;
while (scan_two(a, b), a | b)
{
printf ("%d\n", a + b) ;
}
return 0 ;
}
分享到:
相关推荐
杭州电子科技大学ACM培训课件 来自杭电ACM官方论坛 拿来和大家分享一下 想到有些朋友论坛积分不够 现在特地拿来免费供大家下载 希望对ACM初学者能够有所帮助
一个十分简单的程序,能够ac杭电hdu的第2050题,无注释,简单明了
计算机网络复习大纲_杭电hdu.pdf
杭电ACM1005题源代码,AC了的程序,无问题……
计算机网络复习大纲_杭电hdu借鉴.pdf
计算机网络复习大纲_杭电hdu整理.pdf
计算机网络复习大纲_杭电hdu参考.pdf
杭电ACMhdu1163
ACM培训好资料!能帮助你快速提高ACM AC题目的能力,值得一下
杭电hdu acm资料所用杭电的acm题
HDU2000至2099题的题目以及AC代码(含思路) 适合刚刚接触ACM的同学哦~ emmmm凑字
杭电acm 第1090题的.cpp文件
压缩包包含十份报告,已经通过验收,实验内容:交换机、生成树、静态路由、NAT等完全根据教材实验要求
现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。 Input 本题目包含多组测试数据,请处理到文件结束。 每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。 Output 请在一行里面...
杭电acm培训课件 杭电acm培训课件 杭电acm培训课件 杭电acm培训课件
包含实验内容:对应实验要求上的1/2/3/5实验,分别为setName/setNice,petree输出进程,模拟shell,进程通信,文件系统。包含全部实验源代码和详尽的word实验报告。同时包含在线PTA编程题目:进程模拟,模拟进程调度...
acm hdu as easy as a+b