PTA 练习1002

PTA 1002 写出这个数 (20分)

参考链接
无意侵犯 纯粹用于学习分享

源码:

#include<iostream>
using namespace std;
void output(int a)
{
    switch(a)
    {
            case 0:cout<<"ling";break;
            case 1:cout<<"yi";break;
            case 2:cout<<"er";break;
            case 3:cout<<"san";break;
            case 4:cout<<"si";break;
            case 5:cout<<"wu";break;
            case 6:cout<<"liu";break;
            case 7:cout<<"qi";break;
            case 8:cout<<"ba";break;
            case 9:cout<<"jiu";break;
    }
}
int main()
{
    char c[101];
    cin>>c;
    int sum=0;
    int i=0;
    while(c[i]!='\0')
    {
        sum=sum+c[i]-'0';
        i++;
    }
    int d[11];
    int j=0;
    if(sum==0)
        output(sum);
    while(sum!=0)
    {
        d[j]=sum%10;//取最后一位数
        sum=sum/10;//去除最后一位数
        j++;
    }
    for(int i=j-1;i>0;--i)
    {
        output(d[i]);
        cout<<" ";
    }
    output(d[0]);
}

学习笔记
1.回忆switch()用法
switch(a)
{
case 0: ;break;
case 1: ;break;
case 2: ;break;

}
2.代码部分
while(c[i]!=’\0’)
{
sum=sum+c[i]-‘0’;
i++;
}

(1)此段代码中的接受输入停止的用法可能会多次使用
(2)sum=sum+c[i]-‘0’;是将字符型数据转换为数值型数据

3.代码部分
while(sum!=0)
{
d[j]=sum%10;//取最后一位数
sum=sum/10;//去除最后一位数
j++;
}

猜你喜欢

转载自blog.csdn.net/weixin_45039972/article/details/106163214