pat乙级习题练习

155 阅读1分钟

1002 写出这个数

#include<iostream> //c++的输入输出头函数
#include<stdio.h>
#include<string.h> //stl引用的数据结构
using namespace std;
int main()
{
    char c[101];
    char pinin[][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
    //用字符串形式可以较为容易的实现字符和数字之间的转换,二维数组的样式可以把每一个数字区别开来
    int a[10];
    int i,n=0,t=0;
    cin>>c;
    for(int i=0;i<strlen(c);i++)
    {
        n=n+c[i]-'0';
        //由于输入的一串数字是以字符的形式输入其中,所以先将字符转化为数字再相加
    }
    while(n!=0)//下面a[t]是从个位开始到最大的一位依次存储
    {
        a[t]=n%10;
        n=n/10;
        t++;
    }
    printf("%s",pinin[a[t-1]);
    //为了符合格式要求,第一个数前面没有空格,单独输出
    for(i=t-2;i>=0;i--)
    {
        printf("%s",pinin[a[i]]);
    }
    return 0;
}