叫我投投


私信TA

用户名:dnj0822

访问量:12192

签 名:

宇宙机天下第一

等  级
排  名 221
经  验 6123
参赛次数 0
文章发表 26
年  龄 0
在职情况 学生
学  校 肇庆学院
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<stdio.h>
char dic[10][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
int open=0;
void readYi(int n)
{
 //传进来的最多有2位数 
// n%10;//1位(从右往左数)
// n/10%10;
 
 if(n>9)
 {
  if(n/10%10==1)
   printf("shi %s yi ",dic[n%10]);
  else
   printf("%s shi %s yi ",dic[n/10%10],dic[n%10]);
 }
 else
 {
  //n<=9
  printf("%s yi ",dic[n]);
 }
}
void readQian(int n)
{
 
 if(n/1000%10!=0)
 {
  printf("%s qian ",dic[n/1000%10]);
  open=1;
 }
 
 if(n/100%10!=0)
 {
  printf("%s bai ",dic[n/100%10]);
  open=1;
 }
 
 if(n/10%10!=0&&n/100%10!=0)
 {
  printf("%s shi ",dic[n/10%10]);
  open=1;
 }
 else if(n/10%10!=0&&n/100%10==0&&open==1)
 {
  printf("ling %s shi ",dic[n/10%10]);
  open=1;
 }
 else if(n/10%10!=0&&n/100%10==0&&open==0&&n/10%10==1)
 {
  printf("shi ",dic[n/10%10]);
  open=1;
 }
 else if(n/10%10!=0&&n/100%10==0&&open==0)
 {
  printf("%s shi ",dic[n/10%10]);
  open=1;
 }
 
 
 if(n%10!=0&&(n/10%10!=0))
 {
  printf("%s ",dic[n%10]);
  open=1;
 }
 else if(n%10!=0&&(n/10%10==0)&&open==1)
 {
  printf("ling %s ",dic[n%10]);
  open=1;
 }
 else if(n%10!=0&&(n/10%10==0)&&open==0)
 {
  printf("%s ",dic[n%10]);
  open=1;
 }
}
void readQianwan(int n)
{
 //n%10;//第1位(从右往左数)
// n/10%10;
// n/100%10;
// n/1000%10;
 readQian(n);
 printf("wan ");
}
int main()
{
    int n;
 scanf("%d",&n);
 
 if(n/100000000!=0)
  readYi(n/100000000);
 if(n/10000%10000!=0)
  readQianwan(n/10000%10000); 
 readQian(n%10000);  
    return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区