題目描述
本題要求編寫程序,讀入5個字符串,按由小到大的順序輸出。
?
輸入
輸入為由空格分隔的5個非空字符串,每個字符串僅包含小寫字母,長度小于80。
?
輸出
按照以下格式輸出排序后的結果:
After?sorted:?每行一個字符串
?
樣例輸入?Copy
red yellow blue green white
樣例輸出?Copy
After sorted: blue green red white yellow
#include<stdio.h>
#include<string.h>
int main(void){
int i,j;
char str[5][85],t[85];//注意?。∈莝tr[5][85]不是str[5][80]
for(i=0;i<5;i++){
scanf("%s",str[i]);//先計算行數(shù)
}
for(i=0;i<4;i++){
for(j=0;j<4-i;j++){
if(strcmp(str[j],str[j+1])>0){//字符串的比較
strcpy(t,str[j]);//字符串的交換位置
strcpy(str[j],str[j+1]);
strcpy(str[j+1],t);
}
}
}
printf("After sorted:\n");
for(i=0;i<5;i++){
printf("%s\n",str[i]);
}
return 0;
}
一、關于為什么二維數(shù)組str在應用中使用一維數(shù)組的格式原因:
char str[5][85]是二維的字符數(shù)組。
1. 可以理解成一個excel表格,5是行數(shù),85是列數(shù)。想要訪問其中的某個字符可以使用s[i][j]這樣的形式,代表第i行第j列的字符。
2.在c語言中,二維數(shù)組的按行排列的,也就是先存儲第一行,再第二行,依次循環(huán)存儲。所以二維數(shù)組也可以看成是一維數(shù)組嵌套而成的。這里可以看成是五個char[85]類型的一維數(shù)組嵌套而成,分別是str[0],str[1],str[2],str[3],str[4],本題代碼內這些一維數(shù)組代表了輸入的五個字符串。二、關于為什么是char str[5][85]而不是char str[5][80]原因文章來源:http://www.zghlxwxcb.cn/news/detail-771157.html
char str[5][80]會使字符串長度超過數(shù)組長度文章來源地址http://www.zghlxwxcb.cn/news/detail-771157.html
到了這里,關于字符串排序的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!