资深守护
代码:
#include<bits/stdc++.h>
using namespace std;
string b[5]={"wan","qian","bai","shi"};
int main()
{
string a;
cin>>a;
int m=0;
if(a.size()==1)cout<<a;
else
{
if(a.size()==2)
{
cout<<a[0]<<b[3];
if(a[1]=='0')
{
int jj=0;
}
else
{
cout<<a[1];
}
}
if(a.size()==3)
{
cout<<a[0]<<b[2];
if(a[1]=='0'&&a[2]=='0')
{
int jj=0;
}
else if(a[1]=='0')
{
cout<<a[1]<<a[2];
}
else
{
if(a[1]!='0'&&a[2]=='0')
{
cout<<a[1]<<b[3];
}
if(a[1]!='0'&&a[2]!='0')
{
cout<<a[1]<<b[3]<<a[2];
}
}
}
if(a.size()==4)
{
cout<<a[0]<<b[1];
if(a[1]=='0'&&a[2]=='0'&&a[3]=='0')
{
int jj=0;
}
else if(a[1]=='0'&&a[2]=='0')
{
if(a[3]!='0')
cout<<a[1]<<a[3];
else
cout<<a[1];
}
else if(a[1]=='0')
{
if(a[2]!='0'&&a[3]=='0')
cout<<a[1]<<a[2]<<b[3];
else if(a[2]!='0'&&a[3]!='0')
{
cout<<a[1]<<a[2]<<b[3]<<a[3];
}
}
else
{
if(a[1]!='0'&&a[2]=='0'&&a[3]=='0')
{
cout<<a[1]<<b[2];
}
else if(a[1]!='0'&&a[2]!='0'&&a[3]=='0')
{
cout<<a[1]<<b[2]<<a[2]<<b[3];
}
else
{
cout<<a[1]<<b[2]<<a[2]<<b[3]<<a[3];
}
}
}
if(a.size()==5)
{
cout<<a[0]<<b[0];
if(a[1]=='0'&&a[2]=='0'&&a[3]=='0'&&a[4]=='0')
{
int jj=0;
}
else if(a[1]=='0'&&a[2]=='0'&&a[3]=='0')
{
cout<<a[1]<<a[4];
}
else if(a[1]=='0'&&a[2]=='0')
{
if(a[3]!='0'&&a[4]=='0')
cout<<a[1]<<a[3]<<b[2];
else
{
cout<<a[1]<<a[3]<<b[2]<<a[1]<<a[4];
}
}
else if(a[1]=='0')
{
if(a[2]!='0'&&a[3]!='0'&&a[4]!='0')
{
cout<<a[1]<<a[2]<<b[2]<<a[3]<<b[3]<<a[4];
}
else if(a[2]!='0'&&a[3]=='0'&&a[4]!='0')
{
cout<<a[1]<<a[2]<<b[2]<<a[3]<<a[4];
}
else if(a[2]!='0'&&a[3]=='0'&&a[4]=='0')
{
cout<<a[1]<<a[2]<<b[2];
}
}
else
{
if(a[1]!='0'&&a[2]=='0'&&a[3]=='0'&&a[4]=='0')
{
cout<<a[1]<<b[1];
}
else if(a[1]!='0'&&a[2]!='0'&&a[3]=='0'&&a[4]=='0')
{
cout<<a[1]<<b[1]<<a[2]<<b[2];
}
else if(a[1]!='0'&&a[2]!='0'&&a[3]!='0'&&a[4]=='0')
{
cout<<a[1]<<b[1]<<a[2]<<b[2]<<a[3]<<b[3];
}
else if(a[1]!='0'&&a[2]!='0'&&a[3]!='0'&&a[4]!='0')
{
cout<<a[1]<<b[1]<<a[2]<<b[2]<<a[3]<<b[3]<<a[4];
}
else if(a[1]!='0'&&a[2]=='0'&&a[3]=='0'&&a[4]!='0')
{
cout<<a[1]<<b[1]<<a[2]<<a[4];
}
}
}
if(a.size()==6)
{
cout<<a[0]<<b[3];
if(a[1]=='0'&&a[2]=='0'&&a[3]=='0'&&a[4]=='0'&&a[5]=='0')
{
cout<<b[0];
}
else if(a[1]=='0'&&a[2]=='0'&&a[3]=='0'&&a[4]=='0')
{
cout<<a[1]<<a[5];
}
else if(a[1]=='0'&&a[2]=='0'&&a[3]=='0')
{
if(a[4]!='0'&&a[5]=='0')
cout<<a[1]<<a[4]<<b[3];
else
{
cout<<a[1]<<a[4]<<b[3]<<a[5];
}
}
else if(a[1]=='0'&&a[2]=='0')
{
if(a[3]!='0'&&a[4]!='0'&&a[5]!='0')
{
cout<<a[1]<<a[3]<<b[1]<<a[4]<<b[2]<<a[5];
}
else if(a[3]!='0'&&a[4]=='0'&&a[5]!='0')
{
cout<<a[1]<<a[3]<<b[1]<<a[4]<<a[5];
}
else if(a[3]!='0'&&a[4]=='0'&&a[5]=='0')
{
cout<<a[1]<<a[3]<<b[1];
}
}
else
{
if(a[1]!='0'&&a[2]=='0'&&a[3]=='0'&&a[4]=='0'&&a[5]=='0')
{
cout<<a[1]<<b[0];
}
else if(a[1]!='0'&&a[2]!='0'&&a[3]=='0'&&a[4]=='0'&&a[5]=='0')
{
cout<<a[1]<<b[0]<<a[2]<<b[1];
}
else if(a[1]!='0'&&a[2]!='0'&&a[3]!='0'&&a[4]=='0'&&a[5]==0)
{
cout<<a[1]<<b[0]<<a[2]<<b[1]<<a[3]<<b[2];
}
else if(a[1]!='0'&&a[2]!='0'&&a[3]!='0'&&a[4]!='0'&&a[5]==0)
{
cout<<a[1]<<b[0]<<a[2]<<b[1]<<a[3]<<b[2]<<a[4]<<b[3];
}
else if(a[1]!='0'&&a[2]!='0'&&a[3]!='0'&&a[4]!='0'&&a[5]!=0)
{
cout<<a[1]<<b[0]<<a[2]<<b[1]<<a[3]<<b[2]<<a[4]<<b[3]<<a[5];
}
else if(a[1]!='0'&&a[2]=='0'&&a[3]=='0'&&a[4]=='0'&&a[5]!=0)
{
cout<<a[1]<<b[0]<<a[2]<<a[5];
}
else if(a[1]!='0'&&a[2]=='0'&&a[3]!='0'&&a[4]=='0'&&a[5]!=0)
{
cout<<a[1]<<b[0]<<a[2]<<a[3]<<b[2]<<a[4]<<a[5];
}
else if(a[1]!='0'&&a[2]=='0'&&a[3]=='0'&&a[4]!='0'&&a[5]!=0)
{
cout<<a[1]<<b[0]<<a[2]<<a[4]<<b[3]<<a[5];
}
}
}
}
return 0;
}
新手光能
这是个周期问题,先判断0,或100000,这两个有些特殊,如果不是这两个数,则循环,代码如下
for(int i=0;i<l;i++)//l是长度 { if(a[i]!='0') { if(f==自己想) { cout<<0; f=自己想; } cout<<a[i]<<hz[自己想,周期]; } else f=自己想;
注意周期定义用string ,长度为5
贾志骜在2019-10-09 19:45:57追加了内容
不好意思啊,这不是周期,只是看着像啊,嘿嘿
高级光能
核心(其他的自己写):
if(n == 0) cout<<0;
else if(n == 100000) cout<<"1shiwan";
else{
while(n){
i++;
a[i] = n%10;
n /= 10;
}
for(i = i;i >= 1;i--){
if(a[i] != 0){
if(flag == true){
cout<<0;
flag=false;
}
cout << a[i] << ch[i];
}
else flag = true;
}
}
初级天翼
希望对你有用~
新手天翼
你的暴力……
给你正解,但别想抄袭!
大写数字变换的几种情况:
1.给每一位加后缀。
2.如果中间有0,那么不加后缀。
3.如果末尾有0,那么不输出0。
4.中间有多个连续的0,那么只输出1个0。
5.0输出0。
解题思路:
1.遍历字符串s。
2.如果当前的s[i]是0,那么用flag标识出现过的0。
3.如果当前的s[i]是非0的,那么先根据flag判断是否要输出0,再处理当前数字。
for(int i=0;i<?;i++)
{
if(s[i]=='?')
flag=?;
else
{
if(?)
{
cout<<"0";
flag=false;
}
cout<<s[i]<<post[?];
}
}
新手天翼