PAT甲级1005. Spell It Right

来源:互联网 发布:div加载完成后执行js 编辑:程序博客网 时间:2024/05/29 07:05

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

题目要求:

任给一个非负整数N,计算整数的每一位的和,并输出每一位的英文;

输入:输入的N<=10100

输出:计算的每一位的和的每一位对应一个英文单词,而且英文单词之间需要有一个空格,最后一位之后没有空格

解题思路:

首先将整数的每一位进行分离,然后计算出和,计算出和后也需要将每一位分离;将整数的每一位分离的方法采用除10取余的方式;和的每一位分离时,是从整数的最小位开始,而整数输出需要从最高位开始,因此需要将分离的数位存储在一个数组中;

#include "stdlib.h"#include "stdio.h"int main() {    char ch;    int count = 0;    int words[4];    int sum = 0;    ch = getchar();    while (ch != '\n')    {        sum += ch - '0';        ch = getchar();    }    while (sum / 10 > 0)    {        words[count++] = sum % 10;        sum = sum / 10;    }    words[count++] = sum % 10;    for (int i = count - 1; i >= 0; i--)    {        switch (words[i])        {        case 0:            printf("zero");            break;        case 1:            printf("one");            break;        case 2:            printf("two");            break;        case 3:            printf("three");            break;        case 4:            printf("four");            break;        case 5:            printf("five");            break;        case 6:            printf("six");            break;        case 7:            printf("seven");            break;        case 8:            printf("eight");            break;        case 9:            printf("nine");            break;        default:            break;        }        if (i!=0)        {            printf(" ");        }    }    return 0;}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 海藻面膜调多了怎么办 被鸡爪子抓伤了怎么办 被鸡抓伤肿了怎么办 护士电子化没有激活码怎么办 窗帘盒螺丝掉了怎么办 窗帘的环扣掉了怎么办 门式起重吊装行车脱轨怎么办 在日本丢了东西怎么办 在日本钱包丢了怎么办 被起诉后没钱还怎么办 分期付款卖车打不起车款怎么办 地铁票买多了怎么办 工伤陪护费没有发票怎么办 工伤医疗费报销单位不盖章怎么办 家里的led灯坏了怎么办 吊顶led灯坏了怎么办 客厅空了一面墙怎么办 轨道灯的轨道不够长怎么办 奔驰大灯不亮了怎么办 led顶灯不亮了怎么办 吸顶灯led灯坏了怎么办 车底盘塑料被刮怎么办 汽车门电机坏了怎么办 宁波北仑普高差三分该怎么办 上班的地方甲醛味很重怎么办 公司不给员工交社保怎么办 户口转到学校毕业了怎么办 外地户口转到北京档案怎么办 隧道防水板过紧怎么办 到国企没报到证怎么办 车子锁了油箱盖能开怎么办 单位不接受档案和户口怎么办 完税凭证弄丢了怎么办 育种玉米公本早了怎么办 网银转账打错了怎么办 转账名字打错了怎么办 普通转账名字打错了怎么办 银行账号转错了怎么办 打款信息错了怎么办 报到证过期了档案怎么办 日本suica卡丢了怎么办