输出每个数字对应的拼音

【描述】

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“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,i,mask=1,copy;
		scanf("%d",&n);
		if(n<0){
			n=-n;
			printf("fu");
			}
		copy=n;
		while(copy>9){
			mask*=10;
			copy/=10;
		}//while循环算出位数,10代表两位
		for(;mask>0;){
			i=n/mask;
			switch (i){
				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;
				default:printf(" jiu");

			}

		n=n%mask;
		mask=mask/10;

		}
		} 
时间: 2024-08-01 05:42:46

输出每个数字对应的拼音的相关文章

[华为机试]输入数字的汉语拼音,每个拼音的首字母大写。输出该数字的阿拉伯数字。

//输入数字的汉语拼音,每个拼音的首字母大写.输出该数字的阿拉伯数字. //JiuBaiJiuShiJiu -> 999 #include<stdio.h> #include<string.h> int result = 0; void add(int n,char wei[]) { if(strcmp(wei,"Wan") == 0) result = result + n * 10000; else if(strcmp(wei,"Qian&q

华为 2015 机试 输出:数字后面的连续出现的(2个或多个)相同字符(数字或者字符),删去一个,非数字后面的不要删除,例如,对应输出为:33aabb55pin。

1 package 华为机试; 2 //C++ 输入:由数字和字母组成的字符串,例如:333aaabb55ppin 3 //输出:数字后面的连续出现的(2个或多个)相同字符(数字或者字符),删去一个,非数字后面的不要删除,例如,对应输出为:33aabb55pin. 4 5 //这句话的核心就是在字符串删除一些字符,感觉处理很复杂,删除哪些字符呢?我们观察发现, 本字符串中删除了一个3,一个a,一个p,满足的规则是啥呢? 333中删除最后一个3,3aa删除了一个a,5pp中删除一个p, 6 //规

????用指针判断是否两个数组是否有相同的数字,有的话输出相同数字

/* *Copyright(c) 2014 烟台大学计算机学院 *All rights reserved. * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:杨汉宁 * 完成日期:2014年 12 月 11 日 * 版 本 号:v1.0 * * 问题描述:用指针判断是否两个数组是否有相同的数字,有的话输出相同数字 * 输入描述:两个数组的值 * 程序输出:NULL OR 它们相同的值 */ #

5、输入一个不超过5位的正整数,编程实现:求出它是几位数,分别输出每位数字。

1 #include<stdio.h> 2 #include<math.h> 3 int flws(int); 4 void main() 5 { 6 int n,j,k=0; 7 printf("请输入一个正整数:\n"); 8 scanf("%d",&n); 9 j=n; 10 while(j!=0) //取位 11 { 12 j/=10; 13 k++; 14 } 15 if(k<=5) 16 flws(n,k); 17

键盘录入数字,输出汉字数字,如键盘录入123,输出一二三。

import java.util.Scanner; public class Test3 { /** *  从键盘接受一个数字,列出该数字的中文表示格式,例如:键盘输入123,打印出一二三: * 键盘输入3103,打印出三一零三. * @param args */ public static void main(String[] args) { //键盘录入数据: Scanner sc=new Scanner(System.in); // 引导用户: System.out.println("请输

给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123

题目描述 输入 一个不大于5位的数字 输出 三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数 样例输入 12345 样例输出 5 1 2 3 4 5 54321程序:#include<stdio.h>#include<math.h>int main(){    int a,c,d,count=0,t;    scanf("%d",&a);    d=c=a;    while(c!=0)    {  

计算机输出的数字是原码还是补码

数字在计算机中是以补码形式存储的 是否输入一个数,计算机会自动转化成补码形式存储,输出这个数时,计算机会自动把补码转换成原码显示? 例子: #include <stdio.h> main() { int b: b=-1; printf("%d %x\n",b,b); b=0xffffffff; printf("%d %x\n",b,b); b=0x8fffffff; printf("%d %x\n",b,b);   b=0x80000

java编程:输入一个数字,反转输出这个数字的值

package 第四天; import java.util.Scanner; public class 数字反转 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int num=sc.nextInt(); int result=0;//存反转的数字 while(true) { int n=num%10;//取出最

【C语言】接收字符,大小写字符相互转换后输出,数字不输出

#include<stdio.h> #include<stdlib.h> void main() { int ch;     while((ch=getchar())!=EOF)        if(ch>=65&&ch<=95)       {             ch+=32;         putchar(ch);    }        else    { ch-=32; putchar(ch); } }