c语言输入m个字符串到二维数组中,并假设每一个字符串的长度均小于n,

c语言输入m个字符串到二维数组中,并假设每一个字符串的长度均小于n,m和n为事先定义的整形常量,将m个字符串进行选择排序,最后输出排序结果(m=5,n=30)

#include <stdio.h>

#include "string.h"
#define M 5
#define N 31
int main(void){
    char s[M][N],i,j,k,t[N];
    printf("Input some strings...\n");
    for(i=0;i<M;scanf("%30s",s[i++]));
    for(i=0;i<M;i++){
        for(k=i,j=k+1;j<M;j++)
            if(strcmp(s[k],s[j])>0)
                k=j;
        if(k-i){
            strcpy(t,s[k]);
            strcpy(s[k],s[i]);
            strcpy(s[i],t);
        }
        printf("%s\n",s[i]);
    }
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜