C语言只用int这一种数据类型实现用拼音念数字
一、题目要求
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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
二、代码实现
我还没有学多种数据类型,最熟悉的就是int,所以我设计了一下算法,用int这一种数据类型实现了这个需求。
#include <stdio.h>
#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[]) {int x;//要读的数字 int digit;//数字的每一位上的数 int count=0;//计数器,用于数给定的字的位数 int ret=0;//原数字的逆序结果,比如原数字是123,ret就是321 int i;//这是for循环里要用到的一个变量,先定义出来scanf("%d",&x); //用户输入一个数字//如果用户输入的是一个负数,则先打印fu和它后面的空格//并将该数变为一个正整数 if (x<0){printf("fu ");x=-x;}//用对10取余的方法将数字逆转,并记录下它是一个几位数 while(x>0){digit=x%10;x/=10;ret=ret*10+digit;count++;}//因为该数字至少有一位,而且要考虑最后一个数字后面没有空格的问题//所以我们先把该数字的个位“脱”下来,并打印 digit=ret%10;ret/=10;//switch语句能够让程序根据数字来找到合适的拼音并打印 switch(digit){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; }//因为我们刚才已经把个位数打印了,所以for循环的起点是1//循环原数字位数-1次 for(i=1;i<count;i++){digit=ret%10;ret/=10;//这是每两个数字之间的空格 printf(" ");switch(digit){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; }}return 0;
}
如果这篇博文帮到了你,就请给我点个赞吧(#^.^#)
有疑问也欢迎留言~博主可nice啦,在线秒回ヾ(◍°∇°◍)ノ゙
C语言只用int这一种数据类型实现用拼音念数字相关推荐
- 1.6 Java数组也是一种数据类型
Java 的数组要求所有的数组元素具有相同的数据类型.因此,在一个数组中,数组元素的类型是唯一的,即一个数组里只能存储一种数据类型的数据,而不能存储多种数据类型的数据. 因为 Java 语言是面向对象 ...
- java中数组的返回值是什么类型_Java数组也是一种数据类型
Java 的数组要求所有的数组元素具有相同的数据类型.因此,在一个数组中,数组元素的类型是唯一的,即一个数组里只能存储一种数据类型的数据,而不能存储多种数据类型的数据.因为 Java 语言是面向对象的 ...
- 2.3 Go语言从入门到精通:数据类型
文章目录 1.基本数据类型 1.1 布尔型 1.2 数值型 1.2.1 整型 1.2.2 浮点型 1.2.3 复数 1.3 字符串型 2.派生数据类型 2.1 指针 2.2 数组 2.3 结构体 2. ...
- access数据类型整型怎么设置_access 2010工提供了几种数据类型?
在Access中包括12种数据类型:文本备注:数字:日期/时间:货币:自动编号:是/否:OLE 对象:超链接:查阅向导:计算字段:附件 下面做具体介绍 1.文本 文本类型字段用于保存字符串的数据,例如 ...
- GUID和INT两种数据类型做主键的比较
我们公司的数据库全部是使用GUID做主键的,很多人习惯使用int做主键.所以呢,这里总结一下,将两种数据类型做主键进行一个比较. 使用INT做主键的优点: 1.需要很小的数据存储空间,仅仅需要4 by ...
- redis五种数据类型对应的底层数据结构
redis五种数据类型对应的底层数据结构 redis的五种数据类型 redis核心对象redisObject type数据类型 encoding编码类型 ptr指针 redis五种数据类型对应的底层数 ...
- 2 万字 + 20张图| 细说 Redis 九种数据类型和应用场景
作者:小林coding 计算机八股文网(操作系统.计算机网络.计算机组成.MySQL.Redis):https://xiaolincoding.com 大家好,我是小林. 我们都知道 Redis 提供 ...
- c语言求两者之间最小数,C语言课件第2章基本数据类型.ppt
C语言课件第2章基本数据类型 第 2 章 基本数据类型 1.标识符 例2.1 常量和变量的使用. #include "stdio.h" #define WIDTH 80 //定义符 ...
- 【Python面试】 说说Python中有几种数据类型?
往期面试题: 谈谈对 Python 和其他语言的区别? 说说 Python 解释器种类以及特点? 说说4种常用编码的区别? 说说Python面向对象三大特性? 废话不多说,开始今天的题目: 问:说说 ...
最新文章
- 动态添加跨行表格_学会这2招,轻松搞定数据透视表动态更新,效率猛增一倍...
- bigquery使用教程_如何使用Python和Google BigQuery构建机器人以自动执行您的笨拙任务...
- Cocos Creator 为Button添加事件的两种方法
- 六十、深入理解Vue组件,使用组件的三个细节点
- java 中都有什么结构_java中都有哪些数据结构?
- python数组排序奇数在前偶数在后_数组排列(奇数在前,偶数在后)
- SQL Server插入中文数据后出现乱码
- MySQL数据库常用的操作命令(一)
- 基于JAVA+SpringMVC+Mybatis+MYSQL的超市库房管理系统
- openstack nova ×××
- vue+bootstrap项目
- 主播入门到精通培训实操手册全套资料(共300份)
- 图书销售系统需求分析获取
- 错误:PriviledgedActionException as:LCH (auth:SIMPLE) cause:0: No such file or directory
- 【python学习笔记】爬虫总遇到的:'latin-1' codec can't encode character...
- 如何隐藏Android模拟器的虚拟按键
- 机器学习:李航-统计学习方法-代码实现
- 大数据学习途径_社会支付计划和数据保护的途径和陷阱
- 数仓分层的意义及通用设计
- python爬虫获取豆瓣TOP25电影名称和评分