利用指针对二维字符数组进行排序
2020-06-06 06:13
101 查看
对学生姓名进行排序。
关键点:对字符串进行比较时,从左往右依次比较字符(比较字符对应的ascii码值),如果相等,就继续比较下一个字符,直到不相等。
#include<stdio.h> #include<stdlib.h> #define number 10 //交换姓名 void swap(char *p1, char *p2); int main(void) { char name[number][20]; int i, j, t, order=0; //输入 printf("请输入%d个姓名:\n", number); for(i=0; i<number; ++i) { scanf("%s", name[i]); } //冒泡排序 for(i=0; i<number; ++i){ order = 0; for(j=0; j<number-1-i; ++j){ t = 0; while(name[j][t] == name[j+1][t]) { ++t; } if(name[j][t]>name[j+1][t]){ swap(name[j], name[j+1]); order = 1; } } if(!order) break; } //输出 printf("按ascii表顺序排列为:\n"); for(i=0; i<number; ++i) { printf("%s\t", name[i]); } printf("\n"); system("pause"); return 0; } void swap(char *p1, char *p2) { char t[20]; int i; for(i=0; i<20; ++i) { t[i] = p1[i]; p1[i] = p2[i]; p2[i] = t[i]; } }
相关文章推荐
- 指针动态创建数组,二维指针处理字符数组,链表对象排序
- 如何对二维字符数组进行排序
- 利用数组名作为函数参数传递排序和用指针进行排序
- 利用“指针”对主调函数中数组进行排序,(菜鸟知道模块化)
- C++利用指针数组和快排对输入的字符串进行排序
- C++中利用数组对字符进行除重和排序
- 挑战30天C++入门极限-C/C++中利用数组名/指针进行排序实例
- 用指针对数组进行排序
- 利用指针及数组对国家名称按字典排序
- 第十六周 利用指针对两个数字进行排序(函数版)
- 桶排序:利用数组下标进行排序
- 对二维字符数组排序(2sort和1qsort)
- 利用函数对传入的数组进行排序&有好的用户交互界面小技巧
- 以行为单位对字符串变量下标为奇数位置上的字符按其ASCii值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中
- 利用NSCountedSet对数组进行排序并清除相同对象
- 前端笔试题【1】--从字符串的第二个字符开始对数组进行排序
- 对二维字符数组排序(2sort和1qsort)
- 利用指针的数组排序
- 利用sort函数对数组进行排序【java】
- 第十三周项目四 数组的排序(对字符数组进行冒泡排序)