念数字

题目 念数字 (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 liu ling ling

代码:

#include<stdio.h>
int main()
{
  int n,num,cnt=1,j=0,d;
  scanf("%d",&n);
  if(n==0)
     printf("ling");
  else{

  if(n<0){
    printf("fu ");
    n=-n;
  }
  num=n;
  while(num){
    num/=10;
    cnt*=10;
    j++;
  }
  cnt=cnt/10;
  num=n;
  while(j){
    d=num/cnt;
    num%=cnt;
    cnt/=10;
    switch(d)
    {
     case 0:printf("ling");break;
     case 1:printf("yi");break;
     case 2:printf("er");break;
     case 3:printf("san");break;
     case 4:printf("si");break;
     case 5:printf("wu");break;
     case 6:printf("liu");break;
     case 7:printf("qi");break;
     case 8:printf("ba");break;
     case 9:printf("jiu");break;
    }
    if(j!=1)
      printf(" ");
    j--;
   }
 }
  return 0;
}

原文地址:https://www.cnblogs.com/lmcmha/p/10127703.html

时间: 2024-10-12 09:52:46

念数字的相关文章

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

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 输出

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

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

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

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

杭电ACM分类

杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY

第三章(循环) 编程题 4

念整数 题目内容: 你的程序要读入一个整数,范围是[-100000,100000].然后,用汉语拼音将这个整数的每一位输出出来. 如输入1234,则输出: yi er san si 注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格.当遇到负数时,在输出的开头加上"fu",如-2341输出为: fu er san si yi 输入格式: 一个整数,范围是[-100000,100000]. 输出格式: 表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空