题目描述
在主函数中输入5个字符串(每个字符串的长度不大于20),并输出这5个字符串。编写一个排序函数,完成对这些字符串按照字典顺序排序。然后在主函数中调用该排序函数,并输出这5个已排好序的字符串。要求用指针数组处理这些字符串。
样例输入
c****** a****** e****** g****** d******
样例输出
a****** c****** d****** e****** g******
附ac代码
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { char str[5][30] , (* p)[30]; //*p[30]与(*p)[30]不同,前者为指针数组后者为数组指针 //为了保证copy是同长度,*(p)[30]要与str[][30]一致 for (int i = 0; i < 5; ++i) { scanf("%s", &str[i]); } p = str; for (int i = 0; i < 5; ++i) { char temp[30]; for (int j = 0; j < 5 - i; ++j) { if (strcmp(p[j],p[j+1]) < 0) { strcpy(temp, p[j]); strcpy(p[j], p[j+1]); strcpy(p[j+1], temp); } } } for (int i = 4; i >= 0; --i) printf("%s\n", str[i]); return 0; }
标签:int,30,str,字符串,排序,指针 From: https://www.cnblogs.com/ruoye123456/p/16943170.html