Runtime Error. Received signal 11: Segmentation fault with invalid memory reference.
Runtime Error. Received signal 11: Segmentation fault with invalid memory reference.
#include <bits/stdc++.h>
using namespace std;
string n;
vector<string> v;
void init(){
int i;
v.push_back("zero");
v.push_back("one");
v.push_back("two");
v.push_back("three");
v.push_back("four");
v.push_back("five");
v.push_back("six");
v.push_back("seven");
v.push_back("eight");
v.push_back("nine");
v.push_back("ten");
v.push_back("eleven");
v.push_back("twelve");
v.push_back("thirteen");
v.push_back("fourteen");
v.push_back("fifteen");
v.push_back("sixteen");
v.push_back("seventeen");
v.push_back("eighteen");
v.push_back("nineteen");
v.push_back("twenty");
for(i=1;i<=9;i++) v.push_back("");
v.push_back("thirty");
for(i=1;i<=9;i++) v.push_back("");
v.push_back("forty");
for(i=1;i<=9;i++) v.push_back("");
v.push_back("fifty");
for(i=1;i<=9;i++) v.push_back("");
v.push_back("sixty");
for(i=1;i<=9;i++) v.push_back("");
v.push_back("seventy");
for(i=1;i<=9;i++) v.push_back("");
v.push_back("eighty");
for(i=1;i<=9;i++) v.push_back("");
v.push_back("ninety");
return;
}
bool zeroed(int x){
int i=x;
while(i<=3){
if(n[i]!='0') return 0;
i++;
}
return 1;
}
int main(){
cin>>n;
bool anded=0;
int th=n[0]-'0';
int ha0=n[1]-'0';
int ha1=(n[2]-'0')*10;
int ha2=n[3]-'0';
init();
if(n[1]==0){
cout<<v[th];return 0;
}
while(n.size()<4){
n='0'+n;
}
if(th){
cout<<v[th]<<" thousand ";
if(zeroed(1)) return 0;
}
if(n[1]!='0'){
cout<<v[ha0]<<" hundred ";
if(zeroed(2)) return 0;
}
else{
if(th){
anded=1;
cout<<"and ";
}
}
if(n[2]!='0'){
cout<<v[ha1]<<' ';
}
else{
if(th!=0||n[1]!=0){
if(!anded){ anded=1;cout<<"and ";}
}
}
if(n[3]!='0'){
cout<<v[ha2];
}
return 0;
}
6次Unaccepted。。。 测试点次数都用完了