1002 写出这个数
题目链接-1002 写出这个数
解题思路
-
用一个string数组将数字拼音与数组下标一 一对应,以便实现数字与拼音的转换
-
再处理该数每一位上的数字时可以用to_string()函数(当然也可以while()循环,但是比较麻烦)
-
最后记得输出格式问题,最后一个拼音后面没有空格
最后归纳一下
用法不是特别详细,感兴趣的可以自己百度搜一下
to_string( )函数可以将int型转化为string,
sprintf( )函数可将任意类型数据按某种格式转换成char型字符串
stoi( )函数可以将string转化为int型整数
stoll( )函数可以将string转化为long long型
atoi( )函数可以将char型字符串转化为int型整数
附上代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int INF=0x3f3f3f;
string str[]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
string s;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>s;
int sum=0;
for(int i=0;i<s.length();i++)
sum+=(s[i]-'0');
string a=to_string(sum);//将整数转化为字符串
for(int i=0;i<a.length();i++){
if(i!=0)
cout<<" ";
cout<<str[a[i]-'0'];
}
return 0;
}