如何从键盘录入多个字符串存储在一个数组中,然后按升序排序后输出?

编程实现字符数组保存多个字符串:从键盘录入多个字符串,保存在同一个数组中,按升序排序后输出。

一个实现,供参考:

#include <stdio.h>
#include <string.h>
int main(void){
    
    //定义比较三个字符串 ,这里可以自己设置比较几个字符串 ,但是后面的3也要改为这个数字 
    char str[3][32];
    

    int i=0,j;
    
    //读取字符串 到数组 
    while(i<3){
        gets(str[i]);
        i++;
    }
    
    
    char temp[32];  //存放交换的临时字符串 
    for(i=0;i<3;i++){  //变量字符串数组 
        
        for(j=i;j<3;j++){  //从当前的i位置往后比较字符串 
            
            if(strcmp(str[i],str[j])>0){  //如果数组前面的字符串第一个字母比后面的字母ASCII码大,则交换字符串,达到升序排序字符串的目的 
                strcpy(temp,str[i]);  
                strcpy(str[i],str[j]);
                strcpy(str[j],temp);
            }
        }
    }
    
    for(i=0;i<3;i++){  //打印结果 
        printf("%s\n",str[i]);
    }
    
    return 0;
}