事先允许最多五个英文字符串输入后,再指定输出顺序的编号(即对应输入字符串的顺序),使对应输出的英文字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事先允许最多五个英文字符串输入后,再指定输出顺序的编号(即对应输入字符串的顺序),使对应输出的英文字符相关的知识,希望对你有一定的参考价值。
事先允许最多五个英文字符串输入后,再指定输出顺序的编号(即对应输入字符串的顺序),使对应输出的英文字符串按照指定的顺序输出在一行上。
输入:
第一行:输入一个正整数,表示将要输入的字符串的个数,最大为5。
第二行起:在每一行内对应输入一个字符串,限制在10个字符以内(含10个字符)。
输入完最后一个字符串的下一行:依次输入输出顺序编号,从0开始(即0表示输入的第一个字符串,1表示输入的第二个字符串,依次类推),两个相邻数字之间用空格隔开。
输出:
只有一行,按照输入指定的顺序输出字符串。两个相邻三字符串间用空格隔开,最后一个字符串后没有空格且应换行。
输入样例:
3
world
Hello
!
1 0 2
输出样例:
Hello world !
#include <iostream>
using namespace std;
void main()
char c[5][10];
int a[5];
int No = 0;
cout << "请输入字符串的个数 : ";
cin >> No;
for (int i = 0; i < No; i++)
cout << "请输入编号为" << i << "的字符串 : ";
cin >> c[i];
cout <<"请依次输入输出顺序编号 : ";
for (int i = 0; i < No; i++)
cin >> a[i];
int k = 0;
while ( k < No)
for (int i = 0; i < No; i++)
if (a[i] == k)
cout << c[i] << " ";
k++;
break;
cout << endl;
运行结果:
Python 如何对输出的词频结果按字母顺序排序(NLTK)
编程新手……有这样一个Python程序(使用了nltk):
import nltk
file_b = open('a.txt', 'r')
tokens = nltk.word_tokenize(file_b)
fdist1 = nltk.FreqDist(tokens)
for key,val in sorted(fdist1.iteritems())[:5]:
print "1: 0".format(key, round(val / len(tokens), 2))
输出的结果是:
0.02: a
0.02: after
0.04: and
0.02: arms
0.02: away
我想将结果修改为:首先以频率由大到小排序,再按照字母顺序排序,请问我该如何修改我的语句?
不胜感谢!!
file_b = open('a.txt', 'r')
tokens = nltk.word_tokenize(file_b)
fdist1 = nltk.FreqDist(tokens)
for key,val in sorted(fdist1.iteritems())[:5]:
print ("1: 0".format(key, round(val / len(tokens), 2))) 参考技术A for key,val in sorted(fdist1.iteritems())[:5]:
==>
for key,val in sorted(fdist1.items(), key=lambda x: (-1*x[1], x[0]))[:5]:本回答被提问者采纳
以上是关于事先允许最多五个英文字符串输入后,再指定输出顺序的编号(即对应输入字符串的顺序),使对应输出的英文字符的主要内容,如果未能解决你的问题,请参考以下文章
SQL SERVER - 选择下一行值最多 5 个字符,然后用新字符替换第一个字符
c语言,输入五个国家的名字,按字母顺序(即按ASCII码从小到大的顺序)排列输出。
c语言中怎样让一个有10个元素的数组输出5个元素后换行后再输出另外五个函数