c语言main函数内接收不少于5个人的姓名拼音,调用一个函数按照姓氏拼音首字母排序后输出。
1条回答 默认 最新
- 技术专家团-小桥流水 2021-12-06 17:01关注
定义二维数组char name[100][40];接收字符串,用冒泡等排序方法排序就可以了,字符串比较用strcmp()函数。
如下:#include <stdio.h> #include <string.h> void bubble_sort(char a[][40],int n) { int i,j; char t[40]; for(i=0;i<n-1;i++) { for (j=0;j<n-1-i;j++) { if(strcmp(a[j],a[j+1])>0) { memset(t,0,40); memcpy(t,a[j],strlen(a[j])); memset(a[j],0,40); memcpy(a[j],a[j+1],strlen(a[j+1])); memset(a[j+1],0,40); memcpy(a[j+1],t,strlen(t)); } } } } int main() { char a[100][40]; int i,j,n; printf("请输入字符串个数:"); scanf("%d",&n); printf("请输入%d个字符串:\n",n); for(i=0;i<n;i++) gets(a[i]); bubble_sort(a,n); //输出 for(i=0;i<n;i++) printf("%s\n",a[i]); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 深度学习残差模块模型
- ¥20 两个不同Subnet的点对点连接
- ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
- ¥15 差动电流二次谐波的含量Matlab计算
- ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
- ¥15 C#如何调用串口数据
- ¥15 MATLAB与单片机串口通信
- ¥15 L76k模块的GPS的使用
- ¥15 请帮我看一看数电项目如何设计
- ¥23 (标签-bug|关键词-密码错误加密)