第三天

A1005 Spell It Right (20 分)

题目内容

Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English.

Input Specification:

Each input file contains one test case. Each case occupies one line which contains an N (≤10100).

Output Specification:

For each test case, output in one line the digits of the sum in English words. There must be one space between two consecutive words, but no extra space at the end of a line.

Sample Input:

12345

Sample Output:

one five

单词

consecutive

英 /kən'sekjʊtɪv/ 美 /kən'sɛkjətɪv/

adj. 连贯的;连续不断的

compute

英 /kəm'pjuːt/ 美 /kəm'pjʊt/

n. 计算;估计;推断

vt. 计算;估算;用计算机计算

vi. 计算;估算;推断

题目分析

这题还是很简单的,10的100次方显然超过了int的范围,long int可能都不行,所以这题肯定不能用处理数字的方法解决,所以我把这个数字看作字符,相加时把每个字符减去一个'0',然后再用sprintf把数字改为字符串,代码如下。

具体代码

#include&ltstdio.h&gt
#include&ltstdlib.h&gt const char *ch[] = { "zero","one","two","three","four","five","six","seven","eight","nine" };
int N;
int main(void)
{
char c[101];
int i = 0;
while ((c[i] = getchar()) != '\n')i++;
int sum = 0;
while (i--)
{
sum += c[i] - '0';
}
char c2[101];
sprintf(c2, "%d", sum);
printf("%s", ch[c2[0] - '0']);
i = 1;
while (c2[i] != '\0')
{
printf(" %s", ch[c2[i] - '0']);
i++;
}
system("pause");
}

A1006 Sign In and Sign Out (25 分)

题目内容

At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in's and out's, you are supposed to find the ones who have unlocked and locked the door on that day.

Input Specification:

Each input file contains one test case. Each case contains the records for one day. The case starts with a positive integer M, which is the total number of records, followed by M lines, each in the format:

ID_number Sign_in_time Sign_out_time

where times are given in the format HH:MM:SS, and ID_number is a string with no more than 15 characters.

Output Specification:

For each test case, output in one line the ID numbers of the persons who have unlocked and locked the door on that day. The two ID numbers must be separated by one space.

Note: It is guaranteed that the records are consistent. That is, the sign in time must be earlier than the sign out time for each person, and there are no two persons sign in or out at the same moment.

Sample Input:

3

CS301111 15:30:28 17:00:10

SC3021234 08:00:00 11:25:25

CS301133 21:45:00 21:58:40

Sample Output:

单词

题目分析

过于简单,无话可说。

具体代码

#include&ltstdio.h&gt
#include&ltstdlib.h&gt
#include&ltstring.h&gt
#define EARLY 1
#define LATE -1

int M;
struct time
{
int h;
int m;
int s;
};

struct time earliest_time;
struct time lastest_time;

char earliest_id[16];
char lastest_id[16];

int compare_time(struct time t1, struct time t2);

int main(void)
{
earliest_time.h = 23;
earliest_time.m = 59;
earliest_time.s = 59;
lastest_time.h = 0;
lastest_time.m = 0;
lastest_time.s = 0;
scanf("%d", &M);
while (M--)
{
struct time in;
struct time out;
char id[16];
scanf("%s %d:%d:%d %d:%d:%d", id, &in.h, &in.m, &in.s, &out.h, &out.m, &out.s);
if (compare_time(in, earliest_time) == EARLY)
{
earliest_time.h = in.h;
earliest_time.m = in.m;
earliest_time.s = in.s;
strcpy(earliest_id, id);
}
if (compare_time(out, lastest_time) == LATE)
{
lastest_time.h = out.h;
lastest_time.m = out.m;
lastest_time.s = out.s;
strcpy(lastest_id, id);
}
}
printf("%s %s", earliest_id, lastest_id);
system("pause");
}

int compare_time(struct time t1, struct time t2)
{
if (t1.h > t2.h)
return LATE;
else if (t1.h t2.m)
return LATE;
else if (t1.m t2.s)
return LATE;
else if (t1.s

PTA A1005&A1006的更多相关文章

  1. 浙大PTA - - 堆中的路径

    题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21731 本题即考察最小堆的基本操作: #include "iostrea ...

  2. 浙大PTA - - File Transfer

    题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21732 #include "iostream" #includ ...

  3. ERROR<53761> - Plugins - conn=-1 op=-1 msgId=-1 - Connection Bind through PTA failed (91). Retrying...

    LDAP6.3在DSCC控制台启动实例完成,但是操作状态显示“意外错误”,查看日志如下: 04/May/2016:21:10:39 +0800] - Sun-Java(tm)-System-Direc ...

  4. PTA中提交Java程序的一些套路

    201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...

  5. PTA分享码-Java

    主要用于Java语法练习,非竞赛类题目.   1. Java入门          959dbf0b7729daa61d379ec95fb8ddb0   2. Java基本语法   23bd8870e ...

  6. C语言第一次实验报告————PTA实验1.2.3内容

    一.PTA实验作业 题目1.温度转换 本题要求编写程序,计算华氏温度100°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1.实验代 ...

  7. PTA题---求两个有序序列中位数所体现的思想。

    ---恢复内容开始--- 近日,在做PTA题目时,遇到了一个这样的题,困扰了很久.题目如下:已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数.有序序列A​0​​,A​1​​, ...

  8. 第十四,十五周PTA作业

    1.第十四周part1 7-3 #include<stdio.h> int main() { int n; scanf("%d",&n); int a[n]; ...

  9. 第七周PTA作业

    第一题: #include<stdio.h> int main() { ; ; ){ sum=sum+i; i++; } printf("sum = %d\n",sum ...

随机推荐

  1. net core Webapi基础工程搭建(一)——开发工具及环境

    目录 开发工具 版本 后端框架 开发工具 Visual Studio 2019,既然要折腾那就体验最新版的开发工具有什么特殊的地方,之前个人开发使用的是2017. 下载地址:https://visua ...

  2. git 常规业务场景 使用

    一般每个开发者都会有个自己的分支,有个test分支,合并代码用,两条分支相互备份,就算merge的时候被覆盖,也不用担心 建立自己的分支 // 创建本地分支, git checkout -b dev_ ...

  3. 《Java 8 in Action》Chapter 5:使用流

    流让你从外部迭代转向内部迭代,for循环显示迭代不用再写了,流内部管理对集合数据的迭代.这种处理数据的方式很有用,因为你让Stream API管理如何处理数据.这样Stream API就可以在背后进行 ...

  4. 内容协商在视图View上的应用【享学Spring MVC】

    每篇一句 人生很有意思:首先就得活得长.活得长才能够见自己,再长就可以见众生 前言 在经过 前两篇 文章了解了Spring MVC的内容协商机制之后,相信你已经能够熟练的运用Spring MVC提供的 ...

  5. Excel VBA 在保留原单元格数据的情况下,将计算的百分比加在后面

    算的是红框占绿框的百分比 难点在保留原数据的情况下,把百分比加在后面.通过公式我是不会,但程序实现也不难. 先在Excel中的开发工具中打开visual basic,或者用宏也可以 导入代码文件,代码 ...

  6. Python实现的一些常见简单问题(持续更新)

    提纲: 1.汉诺塔 2.找到某个范围内的所有质数 3.杨辉三角 4.用闭包实现一个计数器,调用一次计数器加1 5.将类构造成可迭代对象,实现斐波那契数列 ...... 1.汉诺塔(汉诺塔) 用递归函数 ...

  7. Delphi - cxGrid设定合并单元格

    在cxGrid中选中需要合并的字段,单击F11调出属性控制面板,展开Options,设置CellMerging的Value为True.

  8. Android自动化测试探索(五)代码覆盖率统计

    Android 代码覆盖率统计 本周开始准备统计Android自动化用例的代码覆盖率,将最终使用的方法记录下来. 覆盖率监测的原理 覆盖率监测的原理跟iOS上的原理差不多,大致的思路参考下吧, iOS ...

  9. Mybatis案例升级版——小案例大道理

    纯Mybatis案例升级版——小案例大道理 前言: 这几天看了一本书<原则>,在上面看到了一句话叫“每个人都把自己眼界的局限当成世界的局限”,大学生是

  10. HDU-3400Line belt-三分再三分-求距离中要加esp

    传送门:Line belt 参考:http://blog.csdn.net/hcbbt/article/details/39375763 题意:在一个平面途中,有一条路ab,还有一条路cd:假设在ab ...