天天打卡一小时第十天

天天打卡一小时第十天

  1. 问题描述

实验2-5 念数字

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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

  1. 设计思路

思路简单,不做阐述

  1. 程序流程图

无法正常显示

  1. 代码实现

#include <stdio.h>

int count(int x);

int main()

{

int n;

if(scanf("%d",&n)){};//输入要读的整数

int c;

if(n<0)

{

printf("fu ");

n=-n;

}//当输入的整数为负数时,取负数的相反数

c=count(n);

for(int i=0;c>0;i++)//循环的控制条件为c>0,之前写成了n>0

{

int m;

m=n/c;//取出该整数的第一位数字

n%=c;

switch (m)

{

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");

}

if(c>9)//判断点,控制最后输出没有空格

{

printf(" ");

}

c/=10;

}

return 0;

}

int count(int x)//例如-400,则返回值为100

{

int cnt=1;

while(x>9)

{

x/=10;

cnt*=10;

}

return cnt;

}

本文作者:丰川扬子

本文链接:https://www.cnblogs.com/newzeon/p/17373769.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   丰川扬子  阅读(11)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.