Nwafu | 您所在的位置:网站首页 › c语言指针排序10个字符串 › Nwafu |
问题 X: C语言实习题五——2.用指针实现字符串排序
时间限制: 1 Sec 内存限制: 128 MB 题目描述用指针实现:将10个字符串(设其长度小于20)从小到大排序. 输入10个字符串。 输出排序后的10个字符串。 样例输入 ijk jkl def ghi def cde hij def efg fgh 样例输出 cde def def def efg fgh ghi hij ijk jkl 提示① 定义二维字符数组和指向该数组的指针数组; ② 用循环使指针数组的元素指向二维字符数组各行首; ③ 用循环为指针数组元素赋字符串为值; ④ 用strcmp函数比较两个指针数组元素的值、用strcpy函数交换两个指针数组元素的值。 代码实现 #include #include #include int main() { char* arr[10]; for (int i = 0; i < 10; i++) { arr[i] = (char*)malloc(100 * sizeof(char)); gets(arr[i]); } for (int i = 0; i < 10 - 1; i++) { for (int j = 0; j < 10 - 1 - i; j++) { if (strcmp(arr[j], arr[j + 1]) > 0) { char* p = NULL; p = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = p; } } } for (int i = 0; i < 10; i++) { puts(arr[i]); free(arr[i]); } return 0; } |
CopyRight 2018-2019 实验室设备网 版权所有 |