解题思路:

注意事项:

参考代码:

#include<stdio.h>
#include<string.h>
int we(int k)
    {
        if(k==5||k==1||k==9)
        {
            printf("shi ");
        }
        else if(k==2||k==6)
        {
            printf("bai ");
        }
         else if(k==3||k==7)
        {
            printf("qian ");
        }
        else  if(k==4)
        {
            printf("wan ");
        }
        else  if(k==8)
        {
            printf("yi ");
        }
        else
            {

            }
    }

main()
{
    char a[11],d[11],l,i,j,k=21;
    char e[20][10];
    char c[20][10]={{"ling"},{"yi"},{"er"},{"san"},{"si"},{"wu"},{"liu"},{"qi"},{"ba"},{"jiu"}};
    //char b[20][10]={{" "},{"shi"},{"bai"},{"qian"},{"wan"},{" "},{" "},{" "},{"yi"},{" "},{" "}};


    while(gets(d))
   {
       l=strlen(d);
    //printf("%d\n",l);
    for(i=0,j=l-1;i<l;i++,j--)
    {
        a[j]=d[i];
    }
   j=1;
    for(i=l-1;i>=0;i--)
    {
         k=i;

         if(a[i]=='0'&&a[i-1]=='0'&&(i!=0))//&&i!=4&&i!=8
         {
             if((a[4]||a[5]||a[6]||a[7])!='0'&&j==1)
             {
                printf("wan ");
                j=0;
             }
             continue;
         }
      /* if(a[i]=='0'&&i!=0&&i!=5&&i!=8)
         {
             printf("ling ");
             continue;
         }*/


        if(a[i]=='1')
        {
            if(i==l-1&&(i==5||i==1||i==9))
            {
                printf("shi ");
            }
            else
            {
                printf("%s ",c[1]);
                 we(k);
            }

        }
       else  if(a[i]=='2')
        {
            printf("%s ",c[2]);
            we(k);

        }
         else  if(a[i]=='3')
        {
            printf("%s ",c[3]);
            we(k);

        }
          else  if(a[i]=='4')
        {
            printf("%s ",c[4]);
            we(k);

        }
          else  if(a[i]=='5')
        {
            printf("%s ",c[5]);
            we(k);

        }
         else  if(a[i]=='6')
        {
            printf("%s ",c[6]);
            we(k);

        }
         else  if(a[i]=='7')
        {
            printf("%s ",c[7]);
            we(k);

        }
         else  if(a[i]=='8')
        {
            printf("%s ",c[8]);
            we(k);

        }
         else  if(a[i]=='9')
        {
            printf("%s ",c[9]);
            we(k);

        }
        else
           {
               if(i!=0&&i!=4&&i!=8)
              {
              printf("%s ",c[0]);
               //we(k);
              }
              else
              {

                  we(k);
              }
           }
    }
    printf("\n");
    }
}

点赞(2)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

诚读修 5年前 回复TA
你试试1000000101看看结果