实验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;
}

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

相关推荐
sheeta1998几秒前
LeetCode 补拙笔记 日期:2026.06.07 题目:283. 移动零
笔记·算法·leetcode
广州山泉婚姻15 分钟前
C 语言循环结构实现思路
c语言
黎阳之光科技管控16 分钟前
纯视觉定位赋能海关口岸 无感通关提升国门安全与效率
算法·安全
じ☆冷颜〃26 分钟前
Picard–Lindelöf定理在CS中的应用:理论框架与算法基础
人工智能·经验分享·笔记·算法·机器学习
不知名的老吴30 分钟前
机器学习评价之基础指标
人工智能·算法·机器学习
Felven30 分钟前
D. Divisible Pairs
算法
LuminousCPP31 分钟前
C 语言系列终章|编译与链接 + 预处理
c语言·经验分享·笔记·预处理·编译链接
源代码杀手31 分钟前
基于ROS2+Gazebo+RIVE的40项计算机视觉前沿机器人项目(含视觉算法原理与源码获取方式)
算法·计算机视觉·机器人
MrZhao40032 分钟前
大模型量化到底在做什么:从浮点数表示到 Qwen FP8 实践
算法
JieE21233 分钟前
LeetCode35. 搜索插入位置:二分查找的基础与细节
javascript·算法