猫史档案馆


紧急求助!!!

用户:JNM上官微雨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

咋做?

 


回复

上一页1 页 / 共 1下一页
JNM上官微雨JNM上官微雨

急急急

点赞0


评论


Mellin_AmpMellin_Amp

点赞0


评论


Mellin_AmpMellin_Amp

多叠几层if就行

点赞0


评论


某汪星人某汪星人

额这个用到了列表和变量取值的方法

点赞0


评论


安歌兴业安歌兴业

直接使用“if”的嵌套就行了吧,毕竟Python是可以实现的,只不过要将你这边的这些数字的特殊称谓给它装入列表才行

点赞0


评论


急_开_锁_办_证810864急_开_锁_办_证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


评论