实验11-1-1 英文单词排序(PTA)

题目:

本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。

输入格式:

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

输出格式:

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

输入样例:

复制代码
blue
red
yellow
green
purple
#

输出样例:

复制代码
red blue green yellow purple 

解:

复制代码
#include<stdio.h>

int main(){
    int i,j,k,b[21]={0};
    char a[21][11];
    for(i=0;i<20;i++){
        scanf("%s",a[i]);//gets(a[i])也行
        int len =  strlen(a[i]);
        b[i]=len;//把各个字符长度计入b[i]中
        if(a[i][0]=='#'){//注意这里是a[i][0],是比较第一个字符
            break;
        }
    }
    for(j=1;j<10;j++){//长度从1到9,依次和b[i]中比较
        for(k=0;k<i;k++){
            if(b[k]==j){
                printf("%s ",a[k]);
            }
        }
    }
    return 0;
}

感觉这个方法还不多见,但也挺简便。

相关推荐
gorgeous(๑>؂<๑)2 分钟前
【ICLR26-Oral Paper-Meta】先见之明:揭秘语言预训练中大型语言模型的视觉先验
人工智能·深度学习·算法·机器学习·语言模型
tod1135 分钟前
力扣基础算法分类刷题:位运算、数学、数组与字符串详解
算法·leetcode·职场和发展
ValhallaCoder5 分钟前
hot100-图论
数据结构·python·算法·图论
熬了夜的程序员8 分钟前
【LeetCode】118. 杨辉三角
linux·算法·leetcode
智算菩萨10 分钟前
规模定律的边际递减与后训练时代的理论重构
人工智能·算法
小龙报10 分钟前
【51单片机】51 单片机 IIC 协议深度解析:时序实现 + GXHT3L 连续转换模式 + 数据解析
c语言·数据结构·stm32·单片机·嵌入式硬件·物联网·51单片机
REDcker10 分钟前
Paho MQTT C 开发者快速入门
c语言·开发语言·mqtt
kanhao10010 分钟前
电平交叉采样 (Level-Crossing Sampling)
算法·fpga开发·fpga
Hcoco_me11 分钟前
图像分割:目标检测、语义分割和实例分割
人工智能·深度学习·算法·目标检测·计算机视觉·目标跟踪
iAkuya11 分钟前
(leetcode)力扣100 69有效的括号(栈)
算法·leetcode·职场和发展