天天看點

[PTA]習題8-7 字元串排序

[PTA]習題8-7 字元串排序

本題要求編寫程式,讀入5個字元串,按由小到大的順序輸出。

輸入格式:

輸入為由空格分隔的5個非空字元串,每個字元串不包括空格、制表符、換行符等空白字元,長度小于80。

輸出格式:

按照以下格式輸出排序後的結果:

After sorted:

每行一個字元串

輸入樣例:

red yellow blue green white

輸出樣例:

After sorted:

blue

green

red

white

yellow

  • 送出結果:
[PTA]習題8-7 字元串排序
  • 源碼:
#include<stdio.h>
#include<string.h>
int main(void)
{
	char str[5][81];

	for (int i = 0; i < 5; i++)   // 5個字元串
	{
		scanf("%s", &str[i]);
	}

	for (int i = 0; i < 4; i++)   // 選用選擇排序法對5個字元串進行排序,比較4次可出結果
	{
		for (int j = i + 1; j < 5; j++)   // 從剩下的5-i個字元串中進行比較
		{
			if (strcmp(str[i], str[j]) > 0)   // 如果目前字元串大于後續字元串,則交換它們的值
			{
				char temp[81];
				strcpy(temp, str[i]);
				strcpy(str[i], str[j]);
				strcpy(str[j], temp);
			}
		}
	}

	printf("After sorted:\n");   // 輸出排序後的字元串

	for (int i = 0; i < 5; i++)
	{
		printf("%s\n", str[i]);
	}

	return 0;
}
           

繼續閱讀