PTA 数组 7-5 按字母顺序排列出场国家名称

从键盘输入多个国家的名称,编写程序按字母顺序排列出场次序,并按出场顺序输出各国家名称。

输入格式:
第1行输入1个整数n(0≤n≤20),表示出场国家数量;之后 n行,每行输入1个国家名称(国家名称长度不超过20,可含空格)。

输出格式:
按字母序输出n行国家名称。若输入国家数n不合题意,则输出“Data Error”;若国家数为0,无输出。
输入样例:

5
Romania
United Kingdom
America
China
Brazil

输出样例:

America
Brazil
China
Romania
United Kingdom

代码:

#include<stdio.h>
int main()
{ 
	int n;
	scanf("%d", &n);
	char c[20][21];
	if (n == 0)//若国家数为0,无输出
	{ 
		return 0;
	}
	if (n > 20 || n < 0)//若输入国家数n不合题意,则输出“Data Error”
	{ 
		printf("Data Error");
		return 0;
	}
	gets(c[0]);//gets用法,若不写该行,下面的循环将读取一个换行符作为c[0]
	for (int i = 0; i < n; i++)
	{ 
		gets(c[i]);
	}
	char temp[20];
	for (int i = 0; i < n-1; i++)//比较法排序
	{                      
		for (int j = i + 1; j < n; j++)
		{ 
			if (strcmp(c[i], c[j]) > 0)
			{   
				strcpy(temp, c[i]);
				strcpy(c[i], c[j]);
				strcpy(c[j], temp);
			}
		}
	}
	for (int i = 0; i < n; i++)
	{ 
		puts(c[i]);
	}
	return 0;
}
    原文作者:komorebi123_
    原文地址: https://blog.csdn.net/komorebi123_/article/details/121705821
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞