用户:
JNM上官微雨查看:7 回复:6 评论:7 创建时间:2020-09-06T19:30:02
描述
有一种世界流行的语言叫“Esperanto”,在该语言中,
数字1到10分别是:“unu”,“du”,“tri”,“kvar”,“kvin”,“ses”,“sep”,“ok”,“nau”,“dek”;
数字11到19分别是:“dek unu”,“dek du”,……,“dek nau”,也就是一个“dek”后面一个空格,接着是个位上的数字;
数字20只至29分别是“dudek”,“dudek unu”,“dudek du”,……,“dudek nau”;相似的,30是“tridek”,……,90是“naudek”。
给你一个整数x,输出它的Esperanto表示法。
输入输入一个整数x,其中1≤x≤99。输出整数x的Esperanto表示法。样例输入
31
样例输出
tridek unu
咋做?
急_开_锁_办_证810864#include <iostream>
#include <string>
using namespace std;
int main(){
string nums[10] = {"", "unu", "du", "tri", "kvar", "kvin",
"ses", "sep", "ok", "nau"}; //数码,从0到9
string linkword = "dek"; //十位和个位之间的连接词
int n; //实际输入的数字
cin >> n;
if(n / 10 == 0){ //如果是个位数
cout << nums[n % 10];
}else if(n / 10 == 1){ //如果是以1开头的十位数
cout << linkword << " " << nums[n % 10];
}else{ //如果是其它十位数
cout << nums[n / 10] << linkword << " " << nums[n % 10];
}
return 0;
}
按照问题的意思模拟一下过程就好了。
世界语和国际语虽然语法很简单,但是都是没有什么人实际使用的,也就能用来出出题目考别人了。有一方面是因为所用的词汇太偏重于拉丁文化圈。
聪明如你可知道Quisquis latine dictum sit altum viditur?
点赞0
评论