#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,h;
char stu[21][30]={0};
int nmb[26]; //记录每个姓名开头的人数
for(i=0;i<26;i++)
nmb[i]=0;
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;
}
为什么无论输入多少个名字都输不出来东西?
关于#二维数组#的问题,如何解决?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 谢玄. 2022-11-01 09:27关注
姓名要是英文哦~
#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 i = 0 , j = 0 ; char stu[20][30] = {0}; int nmb[26] = {0}; //记录每个姓名开头的人数 printf("请输入20名学生的姓名:\n"); for (i = 0; i < 20; i++) { 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]); } while(1); return 0; }
运行结果:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写
- ¥20 Qcustomplot缩小曲线形状问题
- ¥15 企业资源规划ERP沙盘模拟
- ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
- ¥15 前端echarts坐标轴问题
- ¥15 ad5933的I2C
- ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
- ¥15 数学建模求思路及代码
- ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题