幼儿园某个班级共有学生20人,老师按照身高给学生分配座位,教室为五行四列,如果有新增小朋友,增加行。
1.定义一个整型数组,数组内容为学生身高(身高单位为厘米),学生身高用scanf函数输入。输入之后对这20个学生按照身高升序排序。
2.有一个小朋友插班进入这个班级,还按照身高将这个小朋友选择一个合适的位置,要求输出新进入小朋友的座位位置(即行号和列号)。
3.定义一个字符数组,数组内容为学生姓名(英文名),分别统计不同字母开头的小朋友的个数。例如姓名以L开头的小朋友3个,姓名以P开头的小朋友4个。
幼儿园分配座位(真的不会)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 技术专家团-小桥流水 2021-11-19 16:00关注
代码如下:
#include <stdio.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,row,col; 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"); } //charu 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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 16无用 2
悬赏问题
- ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
- ¥20 OPENVPN连接问题
- ¥15 flask实现搜索框访问数据库
- ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
- ¥20 白日门传奇少一个启动区服和启动服务器的快捷键,东西都是全的 , 他们说套一个出来就行了 但我就是弄不好,谁看看,
- ¥100 如何用js写一个游戏云存档
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
- ¥15 向数据表用newid方式插入GUID问题