m0_63170702 2022-03-17 22:10 采纳率: 71.4%
浏览 64
已结题

编写一个程序,将小组的所有人的name存储到一个二维数组中,对名称进行排序并按顺序输出。

img


编写一个程序,将你一个小组的所有姓名存储到一个二维数组中,对名称进行排序并按顺序输出。

  • 写回答

1条回答 默认 最新

  • a5156520 2022-03-18 14:17
    关注

    一个简单的实现:

    #include <stdio.h>
    #include <string.h>
    #define MAXSTUDENTS 5
    #define NAMELENGTH 20
    int main(){
        
        int j,i;
        char  temp[NAMELENGTH] ;
        char  a [MAXSTUDENTS][NAMELENGTH] ; //存储一个小组的学生名字 ,默认小组最多不超过5人,每个人名字不超过20个字符 ,可以自己定义 
    //    printf("1\n");
        
        printf("请输入小组每个人的姓名:\n");
        for(i=0;i<MAXSTUDENTS;i++){
            scanf("%s",a[i]); 
        } 
    //    printf("输入信息为:\n");
    //    for(i=0;i<MAXSTUDENTS;i++){
    //        printf("%s\n",a[i]); 
    //    } 
        for(j=0;j<MAXSTUDENTS-1;j++){  //遍历姓名字符串数组 
            
            //printf("2\n");
            for(i=j+1;i<MAXSTUDENTS;i++){   //逐个将当前数组i位置的名字和后面的每个位置的名字进行比较,按ASCII码大小从小到大排列 
                //printf("3\n");
                if(strcmp(a[i],a[j])<0){  //如果当前i为主的姓名字符串比i位置后面的字符串第一个字母ASCII码小 ,则交换这个字符串 
                //    printf("i=%d,j=%d,a[%d]=%s,a[%d]=%s\n",i,j,i,a[i],j,a[j]);
                    strcpy(temp,a[j]);
                    strcpy(a[j],a[i]);
                    strcpy(a[i],temp);
                //    printf("after change,i=%d,j=%d,a[%d]=%s,a[%d]=%s\n",i,j,i,a[i],j,a[j]);
    //                temp = a[i];
    //                a[i] = a[j];
    //                a[j] = temp; 
                }
            }
        }
        
        printf("排序后的结果为:\n");
        for(i=0;i<MAXSTUDENTS;i++){
            printf("%s\n",a[i]);
        }
        
        return 0;
    } 
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月3日
  • 已采纳回答 3月26日
  • 修改了问题 3月18日
  • 修改了问题 3月17日
  • 展开全部

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c