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++;
}