首页 > 其他分享 >7-10 英文单词排序(string类型的长度表示方法)

7-10 英文单词排序(string类型的长度表示方法)

时间:2024-03-09 20:57:39浏览次数:24  
标签:10 string int 英文单词 str 排序 输入

7-10 英文单词排序

分数 15
作者 张泳
单位 浙大城市学院
本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。

输入格式:

输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。

输出格式:

输出为排序后的结果,每个单词后面都额外输出一个空格。

输入样例:

blue
red
yellow
green
purple
#

输出样例:

red blue green yellow purple 

参考代码

#include<iostream>
#include<string>
#include<string.h>
#include <iomanip>	//stew(6)用到
using namespace std;


int main()
{
	string  str[30];
	
	//输入
	cin >> str[0];
	int n = 1;
	while (str[n-1] != "#")
	{
		cin >> str[n];
		n++;
	}
	n--;	//不把 # 留在字符串数组内,方便我们输出

	//排序
	for (int i = n - 1; i >= 0; i--)
	{
		for (int j = 0; j < i; j++)
		{
			if (str[j].size() > str[j + 1].size())	//string类型的长度表示方法
			{
				string t;
				t = str[j];
				str[j] = str[j + 1];
				str[j + 1] = t;
			}
		}
	}

	//输出,注意把长度为1的 # 剔除,这一步我们在输入哪里把#剔除了,是一个巧妙的操作
	for (int i = 0; i < n; i++)
	{
		cout << str[i] << " ";	//题目要求每个单词后都要有空格,比较反常
	}
	return 0;
}

标签:10,string,int,英文单词,str,排序,输入
From: https://www.cnblogs.com/yesno233233/p/18063268

相关文章

  • 仅需10秒!ChatGPT轻松画出UML用例图,我却苦战10分钟。
    当我们写技术文档时,一张系统用例图,平时要花费10分钟才完成,而ChatGPT绘图过程只用了10秒钟,基本可以达到同样的水平,通过ChatGPT可以显著提高画流程图的效率。什么是用例图用例图是统一建模语言(UML)的一部分,用于描述系统的功能以及与之交互的外部实体(如人、系统或设备)。它是一种图......
  • window10家庭版 安装Hyper-V
    1.新建文件,命名为Hyper-V.cmd,将以下命令复制到文件中保存,使用管理员权限运行pushd"%~dp0"dir/b%SystemRoot%\servicing\Packages\*Hyper-V*.mum>hyper-v.txtfor/f%%iin('findstr/i.hyper-v.txt2^>nul')dodism/online/norestart/add-package:"%Sy......
  • 【软件安装】pytorch安装(windows10,pip版)
    前提必须先安装cuda与cudnn,教程:cuda与cudnn部署安装同时确认你的CUDA版本,nvidia-smi:确认版本是12.4,继续往下走安装pytorch前往官网,并且往下滑动,直到你看见INSTALLPYTORCH:PyTorch看左下角的PreviousversionsofPyTorch,点进去:这里显示最新的是v2.2.0版本,咱就下这个,按设......
  • 09在VMWare中初步安装Windows10系统
    在VMWare中初步安装Windows10系统在本节中,我们使用VM初步安装一个Windows10虚拟机.为什么说是"初步"呢?因为本节的方法不涉及高级步骤(如使用PE系统等),主要目的让你熟悉首次安装系统的流程.高级方法安装系统会在未来介绍.新建虚拟机在VM中,点击新建虚拟机操作方法:1.选......
  • java List<HashMap<String,Object>> 遍历修改
    List<HashMap<String,Object>>DataSource;inti=0;for(Map<String,Object>item:DataSource){for(Stringk:item.keySet()){if(k.equals("input_date")){//此句为判断条件可去掉Objectb=item.get(k);......
  • AWR1243+DCA1000——硬件触发(Hardware Trigger)
    1引言对于二维滑轨的雷达扫描系统来说,当滑轨系统运动运动速度较慢时,可以忽略其启动和停止时的加速度,而假定导轨在整个导程中是匀速运行的,这时设定雷达信号的帧发射周期即可实现在整个二维扫描平面的均匀采样,此时雷达板发射雷达信号是软件触发的。但值得注意的是,这仍然是一个开......
  • 代码随想录 第十六天 | ● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树
    leetcode:104.二叉树的最大深度-力扣(LeetCode)思路:递归判断每次左右节点的是否存在,存在自然加一,return的1就是这样,判断子节点的左右两端是否有节点,统计有的节点数量,也就是左右的高度classSolution{publicintmaxDepth(TreeNoderoot){//后序遍历if......
  • LeetCodeHot100 283. 移动零 11. 盛最多水的容器 42. 接雨水 15. 三数之和
    283.移动零https://leetcode.cn/problems/move-zeroes/description/?envType=study-plan-v2&envId=top-100-likedpublicvoidmoveZeroes(int[]nums){intr=0;for(inti=0;i<nums.length;i++){if(nums[i]!=0){......
  • Living-Dream 系列笔记 第10期
    本期主要讲解进阶\(\text{DFS}\)。知识点\(\text{DFS}\)求解连通块问题:定义:若一个点集中的所有点都能互达,且与集合外的点无法互达,则称此点集为一个连通块。考查方式:求连通块数量/大小/周长。例题T1在\(\text{DFS}\)函数中传入参数\(x\)和\(str\),分别表示......
  • P10217 [省选联考 2024] 季风题解
    考场上没写出来,火大,实际上这题放校内%你赛我肯定写的出来,可惜这是省选。实际上这题不难,主要是观察性质,接着拆柿子,然后就是有点难写,要写得好看有点考验代码构建能力和数学能力。我们考虑原题的每对\((x,y)\)都要满足\(|x|+|y|\lek\)而我们可以知道后面应该填的\((x,y)\)如......