1002. 写出这个数 (20)
来源:互联网 发布:windows我的电脑图标 编辑:程序博客网 时间:2024/06/06 03:54
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:1234567890987654321123456789输出样例:
yi san wu
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char a[10000];
int b[10000];
int shu(int n)
{
if(n==1) cout<<"yi";
if(n==2)cout<<"er";
if(n==3)cout<<"san";
if(n==4)cout<<"si";
if(n==5)cout<<"wu";
if(n==6)cout<<"liu";
if(n==7)cout<<"qi";
if(n==8)cout<<"ba";
if(n==9)cout<<"jiu";
if(n==0)cout<<"ling";
}
int main()
{
int i,len,sum=0,weishu,ge,shi,bai,qian;
cin>>a;
len=strlen(a);
for(i=0;i<len;i++)
{
b[i]=a[i]-'0';
sum+=b[i];
}
weishu=sum/10;
if(weishu==0)
{
shu(sum);
}
if(weishu>=1&&weishu<10)
{
shi=sum/10;
ge=sum%10;
shu(shi);
cout<<" ";
shu(ge);
}
if(weishu>=10&&weishu<99)
{
bai=sum/100;
shi=(sum-bai*100)/10;
ge=sum%10;
shu(bai);
cout<<" ";
shu(shi);
cout<<" ";
shu(ge);
}
if(weishu>=99)
{
qian=sum/1000;
bai=(sum/100-qian*10);
shi=(sum/10-qian*100-bai*10);
ge=sum%10;
shu(qian);
cout<<" ";
shu(bai);
cout<<" ";
shu(shi);
cout<<" ";
shu(ge);
}
return 0;
}
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- HTTP协议之Content-Encoding
- OpenWrt增加软件包
- 给新手的最佳类Windows界面的Linux发行版
- 十九、UI-Grid 水平滚动
- RN基础以及组件学习技巧
- 1002. 写出这个数 (20)
- Typescript结合gulp开发
- Java反射在JVM的实现
- JS判断浏览器是否安装flash插件的简单方法
- Intersection of Two Linked Lists
- KNN(二)--近似最近邻算法ANN
- 时间日期格式转换 oj
- 12个助你提升ios app开发效率的工具
- canvas 绘制大乐透数据图表