C语言指针练习之不等长字符排序
2016-03-16 16:09
260 查看
/* *Copyright(c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:test1.cpp *作 者:刘金石 *完成日期:2016年3月16日 *版本 号:v1.0 *问题描述:在主函数中输入n(n<=10)个不等长的字符串。用另一函数对它们排序。然后在主函数输出这n个已排好序的字符串。 *输入描述:n和n个不等长字符串 *输出描述:输出n个已排好序的字符串。 */ #include<stdio.h> #include<string.h> int main() { void sort(char **,int ); int i,n; char **p,*pstr[20],str[20][80]; scanf("%d",&n); for (i=0; i<n; i++) pstr[i]=str[i]; for (i=0; i<n; i++) scanf("%s",pstr[i]); p=pstr; sort(p,n); printf("排序后的字符串为:\n"); for (i=0; i<n; i++) printf("%s\n",pstr[i]); return 0; } void sort(char **p,int n) { int i,j; char str[80]; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) { if(strcmp(*(p+i),*(p+j))>0) { strcpy(str,*(p+i)); strcpy(*(p+i),*(p+j)); strcpy(*(p+j),str); } } }
运行结果:
相关文章推荐
- C++类模板
- C/C++中int/long/float/double数值类型与字符串互相转换[总结]
- C++字面值常量
- strlen()与sizeof
- C语言学习资料
- C++函数模板
- c++ 二叉树的线索化(前中后序遍历)
- C/C++编译链接过程详解
- OpenGL蓝宝书第五章代码勘误以及惯性坐标系去解释模型变换:Pyramid.cpp
- (转)运算优先级、结合性、求值顺序、副作用和顺序点
- C++如何选择类型
- kmp算法及其c++实现
- C++继承20160214
- C++多态20160214
- C++中常用到的容器
- C++文件读写详解
- C#调用c++ dll 方式
- C++中 引用和指针的区别
- C++ 模板
- 选择排序c语言实现