字符串排序pta_PTA「实验8-2-8 字符串排序」

449bdcc4a2656beb60fa81f19eafbd12.png

PTA是浙江大学设计类实验辅助教学平台。

45252a28ee1f7234f9d0de5a4625aa23.png

题目描述:

本题要求编写程序,读入5个字符串,按由小到大的顺序输出。

输入格式:

输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。

输出格式:

按照以下格式输出排序后的结果:

After sorted:
每行一个字符串

输入样例:

red yellow blue green white

输出样例:

After sorted:
blue
green
red
white
yellow

9019d5dc0c189a88a3c4d94f5b684dd5.png

编译器

C(gcc)

提交代码

#include <stdio.h>
#include <string.h>
#define ROW 5
#define COLUMN 81

void sort(char str[ROW][COLUMN]);

int main(){
    char str[ROW][COLUMN];
    for (int i = 0; i < ROW; i++)
    {
        scanf("%s",str[i]);
    }
    puts("After sorted:");
    sort(str);
    return 0;
}

void sort(char str[ROW][COLUMN]){
    char *temp;
    char *copy[ROW];
    int i,j;
    for (i = 0; i < ROW; i++)
    {
        copy[i]=str[i];
    }
    for (i = 0; i < ROW; i++)
    {
        for (j = 0; j < ROW-i-1; j++)
        {
            if (strcmp(copy[j],copy[j+1])>0)
            {
                temp=copy[j+1];
                copy[j+1]=copy[j];
                copy[j]=temp;
            }   
        }    
    }
    for ( i = 0; i < ROW; i++)
    {
        puts(copy[i]);
    }
}

提交结果

bd61c1395b0227ca204405819ea24c19.png

ee1e22e8732482b2dd9f57b4531eaf68.png

版权声明:本文为weixin_31451617原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。