PAT 1002. 写出这个数 (20)

题目链接:https://www.patest.cn/contests/pat-b-practise/1002

 

关键说明:

sprintf(num,"%d",sum);的使用说明
sprintf将数字转化为字符串
第一个是字符串保存的名字

#include<bits/stdc++.h>

using namespace std;
char s[200];
int a[200];
char num[100];
void slove(int i)
{
    if(i==0)  printf("ling");
    else if(i==1)  printf("yi");
    else if(i==2)  printf("er");
    else if(i==3)  printf("san");
    else if(i==4)  printf("si");
    else if(i==5)  printf("wu");
    else if(i==6)  printf("liu");
    else if(i==7)  printf("qi");
    else if(i==8)  printf("ba");
    else if(i==9)  printf("jiu");
}
int main()
{
    scanf("%s",s);
    int len=strlen(s);
    int sum=0;
    for(int i=0;i<len;i++)
    {
       sum+=(s[i]-'0');
    }
    sprintf(num,"%d",sum);
    int len1=strlen(num);
    for(int i=0;i<len1-1;i++)
    {
        slove(num[i]-'0');
        printf(" ");
    }
    slove(num[len1-1]-'0');
    printf("\n");
    return 0;
}

 

posted @ 2016-04-07 21:34  Gssol  阅读(192)  评论(0编辑  收藏  举报