/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:zhizhen.c * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年3月6日 * 版本号:V1.0 * 问题描述:字符串排序 * 程序输入:无 * 程序输出:见运行结果 */ #include<stdio.h> #include<string.h> int main() { void sort(char * name[],int n); //函数声明 void print(char * name[],int n); //函数声明 char * name[]={"Follow me","BASIC","Great Wall","FORTRAN","Computer design"}; //定义指针数组,它的元素分别指向5个字符串 int n=5; sort(name,n); //调用sort函数,对字符串排序 print(name,n); //调用print函数,输出字符串 return 0; } void sort(char *name[],int n) //定义sort函数 { char * temp; int i,j,k; for(i=0;i<n-1;i++) //用选择法排序 { k=i; for(j=i+1;j<n;j++) if(strcmp(name[k],name[j])>0) k=j; if(k!=i) { temp=name[i]; name[i]=name[k]; name[k]=temp; } } } void print(char * name[],int n) //定义print函数 { int i; for(i=0;i<n;i++) //按指针数组元素的顺序输出他们所指向的字符串 printf("%s ",name[i]); } 运行结果: