m0_73485625 2022-10-22 22:05 采纳率: 60%
浏览 83
已结题

实验任务2帮看看我不会

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/610304744666167.jpg "#lef
实验任务2的二维数组最后怎么输出几行几列,想不明白,不知道插入的数是多少,整个实验二具体思路说一下谢谢

  • 写回答

4条回答 默认 最新

  • Code_流苏 C/C++领域优质创作者 2022-10-22 22:48
    关注

    定义一个二维数组,注意插入前后数组大小的区分就可以了。
    具体写了一下实验任务1、2、3的代码,思路可供参考:

    #include<stdio.h>
    #include<string.h>
    
    void bubble_sort(int a[],int n)
    { 
        int i,j,t; 
        for (i=0;i<n-1;i++) 
        { 
            for (j=0;j<n-1-i;j++) 
            { 
                if(a[j] > a[j+1]) //从小到大,升序 
                {
                    t = a[j]; 
                    a[j]=a[j+1]; 
                    a[j+1]=t; 
                } 
            } 
        }
    }
    int main()
    { 
        int a[6][4],i,j; 
        int h; 
        char stu[21][30]={0}; 
        int nmb[26]; //记录每个姓名开头的人数 
        for(i=0;i<26;i++) 
            nmb[i]=0; 
        for (i=0;i<5;i++) 
        { for (j=0;j<4;j++) 
            { 
                scanf("%d",&a[i][j]); 
            } 
        } 
        //排序 
        bubble_sort(&a[0][0],20); 
        //输出 
        for (i=0;i<5;i++) 
        { 
            for (j=0;j<4;j++) 
                printf("%d ",a[i][j]); 
            printf("\n");
        }
        //插入 
        printf("请输入插入班级的小朋友身高:"); 
        scanf("%d",&h); 
        for (i=0;i<5;i++) 
        { 
            for (j=0;j<4;j++) 
            { 
                if(a[i][j] >= h) 
                    break; 
            } 
        } 
        if(i == 5) 
            printf("第6行第1列\n"); 
        else 
            printf("第%d行第%d列\n",i+1,j+1); 
        //输入学生姓名20名 
        printf("请输入20名学生的姓名:\n"); 
        for (i=0;i<5;i++) 
        { 
            for(j=0;j<4;j++) 
            { 
                gets(stu[i]); 
            if(stu[i][j] >='a' && stu[i][j]<='z') 
                nmb[stu[i][j]-'a']++; 
            else if(stu[i][j] >='A' && stu[i][j]<='Z') 
                nmb[stu[i][j]-'A']++; 
            } 
        } 
        //显示 
        for (i=0;i<26;i++) 
        { 
            if(nmb[i] > 0) 
                printf("%c开头的小朋友%d个\n",(char)('A'+i),nmb[i]); 
        } 
        return 0;
    }
    

    如有帮助,还请采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 修改了问题 10月22日
  • 修改了问题 10月22日
  • 展开全部

悬赏问题

  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题