L1-007. 念数字

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“fu”字。十个数字对应的拼音如下:

0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu

输入格式:

输入在一行中给出一个整数,如: 1234 。

提示:整数包括负数、零和正数。

输出格式:

在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si

输入样例:

-600

输出样例:

fu liu ling ling
#include "iostream"
#include "cmath"
#include "cstdio"
#include "map"
#include "string"
#include "cstring"
using namespace std;
map<int,string> m;
void fun()
{
    m[0]="ling";
    m[1]="yi";
    m[2]="er";
    m[3]="san";
    m[4]="si";
    m[5]="wu";
    m[6]="liu";
    m[7]="qi";
    m[8]="ba";
    m[9]="jiu";
}
int main()
{
    fun();
    int n;
    while(~scanf("%d",&n))
    {
        char temp[20];
        if(n<0){
          cout<<"fu ";
            n=abs(n);
        }
        sprintf(temp, "%d", n);///int ->char[]
        int len=strlen(temp);
        for(int i=0;i<len;i++)
        {
            if(i==len-1)
            {
                cout<<m[temp[i]-48]<<endl;
                break;
            }
            else
            {
                cout<<m[temp[i]-48]<<" ";
            }
        }
    }
    return 0;
}
时间: 2024-08-24 11:35:46

L1-007. 念数字的相关文章

1181: 念数字

台州ACM:1181: 念数字 描述 编一个"念数字"的程序,它能让计算机完成以下工作:当你输入一个0至99 之 间的数后,计算机就会用汉语拼音印出这个数. 如果输入的数不在0到99 之间,就印出"CUO LE". 注:为了使不熟悉汉语拼音的同学也能做这个题,把"零,一,二,三,--,九,十"的 拼音法写在下面. 零 LING 一 YI 二 ER 三 SAN 四 SI 五 WU 六 LIU 七 QI 八 BA 九 JIU 十 SHI 输入 输入数

PAT 团体程序设计天梯赛-练习集 L1-007. 念数字

输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出“fu”字.十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 输入格式: 输入在一行中给出一个整数,如: 1234 . 提示:整数包括负数.零和正数. 输出格式: 在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格.如 yi er san si. 输入样例: -600 输出样例: fu liu ling

念数字

题目 念数字 (10 分) 输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出fu字.十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 输入格式: 输入在一行中给出一个整数,如: 1234 提示:整数包括负数.零和正数. 输出格式: 在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格.如 yi er san si 输入样例: -600 输出样例: fu

L1-007 念数字 (10分)

L1-007 念数字 (10分) 输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出 fu 字.十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 输入格式: 输入在一行中给出一个整数,如:1234. 提示:整数包括负数.零和正数. 输出格式: 在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格.如 yi er san si. 输入样例: -600 输出

05-2. 念数字(15)

输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出“fu”字.十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 输入格式: 输入在一行中给出一个整数,如: 1234 . 提示:整数包括负数.零和正数. 输出格式: 在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格.如 yi er san si. 输入样例: -600 输出样例: fu liu ling

PTA L1-007 念数字 (10分)

还是自己太菜了,只能用笨方法求解,过程曲折,有个问题一直不明白,在这里记录下来,以便以后翻看. include <stdio.h> include <stdlib.h> int main() { int N; int arr[100]; //此处当定义为 int arr[] = {0};时就会是程序的输出结果变为:ling si:(此时输入为:1234)难以理解,还是需要查看一下相关的定义.也就是不规定数组大小时,输出结果就是错误的. int i=0; scanf("%d

洛谷P1132 数字生成游戏

P1132 数字生成游戏 题目描述 小明完成了这样一个数字生成游戏,对于一个不包含0的数字s来说,有以下3种生成新的数的规则: 将s的任意两位对换生成新的数字,例如143可以生成314,413,134: 将s的任意一位删除生成新的数字,例如143可以生成14,13,43 在s的相邻两位之间s[i],s[i + 1]之间插入一个数字x,x需要满足s[i] < x < s[i + 1].例如143可以生成1243,1343,但是不能生成1143,1543等. 现在小明想知道,在这个生成法则下,从s

is == 编码与解码

is 和 ==  主要是数字和字符串的比较 1 区别: ==比较的是两边的值     is比较的是两边值的id    id获取的方法 id() 2 小数据池: -5~256 3字符串中特殊字符有id不同 4字符串中单个字符*20以内,内存地址是一样的 *21以上内存地址不一致 编码与解码 1 encode (a )把明文编译成a格式代码 decode()把代码翻译成明文 ascii码 包含英文 数字 特殊字符 不含中文     8bit gbk  国标码 包含英文数字 中文 字符    16bi

PAT 团体程序设计天梯赛-练习集 题解(凑零钱,堆栈,社交集群)

开始准备cccc(cry)天梯赛了,第一周训练题,把官网挂出的训练题刷完了,对pat有了一点点的熟悉感. L1-1  就不说了... L1-2 打印沙漏 一个变量保存空格数,一个变量保存沙漏符号数,打印就行了,但这题话说wrong好几次啊,坑点是沙漏符号后面不打印空格,orz... <span style="font-size:14px;">#include<iostream> #include<stdio.h> #include<math.h