PTA基础题目编程集7-25念数字

本文介绍了一个使用C语言编写的程序,该程序可以将输入的整数转换为其对应的汉字发音形式。程序首先处理输入数字的正负性和零的情况,然后通过循环计算确定数字的位数,并使用数组记录每位数字。最后利用switch语句将数字转换成相应的汉字发音。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <math.h>
int main()
{
 int r,n,cnt=0;
 scanf("%d",&r);
 if(r==0){
  printf("ling");
  return 0;
 }
 if(r<0) printf("fu ");
 int x;
 n=abs(r);//math库中的绝对值函数,eg.abs(-51)=51.
 x=n;
 while(x>0){//算出x的位数,eg,x=12345,cnt=5.
  x/=10;
  cnt++;
 }
 int s[cnt];//创建数组记录各位数
 int i,a,b;
 a=n;b=n;
 for(i=cnt-1;a>0;i--){//正向记录x中的各个数字,并存于数组中.
  b=a%10;
  s[i]=b;
  a/=10;
 }
 for(i=0;i<cnt;i++){
  switch(s[i]){//switch语句,将数字转换为拼音.
   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");
  }
  if(i<cnt-1) printf(" ");//每个拼音之间有空格,但最后一个没有空格.
 }
 return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值