做网站 多页面网址怎么弄,代发百度关键词排名,建立企业网站选什么好,网站开发原理成学生管理系统
1 使用菜单完成
2 有学生的信息录入功能#xff1a;输入学生个数#xff0c;并将学生的姓名、分数录入
3 查看学生信息#xff1a;输出所有学生姓名以及对应的分数
4 求出学习最好的学生信息#xff1a;求最大值
5 按姓名将所有学…成学生管理系统
1 使用菜单完成
2 有学生的信息录入功能输入学生个数并将学生的姓名、分数录入
3 查看学生信息输出所有学生姓名以及对应的分数
4 求出学习最好的学生信息求最大值
5 按姓名将所有学生进行升序排序
6 按成绩将所有学生进行升序排序
要求每个功能使用函数完成 实现的函数类型是有参数无返回值的函数
#include stdio.h
#include string.h
#define MAX 100void print_menu()
{printf(\t\t1.录入学生信息\n);printf(\t\t2.查看学生信息\n);printf(\t\t3.查询学习最好的学生信息\n);printf(\t\t4.按姓名将所有学生进行升序排序\n);printf(\t\t0.退出\n);
}
// 1.录入学生信息
void enterStudents(int studentsNumber,char names[MAX][30],int scores[MAX])
{for (int i 0; i studentsNumber; i){printf(请输入第%d个学生的姓名:, i 1);scanf(%s, names[i]);getchar();printf(请输入第%d个学生的成绩:, i 1);scanf(%d, scores[i]);}
}// 2.查看学生信息
void viewStudents(int studentsNumber,char names[MAX][30],int scores[MAX])
{printf(学生信息如下:\n);for (int i 0; i studentsNumber; i){printf(学生姓名:%s 学生成绩:%d\n, names[i], scores[i]);}
}// 3.求出学习最好的学生信息(求最大值)
void bestStudents(int studentsNumber,char names[MAX][30],int scores[MAX])
{int maxi 0;for (int i 0; i studentsNumber; i){if (scores[maxi] scores[i]){maxi i;}}printf(成绩最好的学生姓名:%s 学生成绩:%d\n, names[maxi], scores[maxi]);
}// 4.按姓名将所有学生进行升序排序
void nameStudents(int studentsNumber,char names[MAX][30],int scores[MAX])
{char temp[50] {0};int temps 0;for (int i 0; i studentsNumber - 1; i){for (int j 0; j studentsNumber - i - 1; j){if (strcmp(names[j], names[j 1]) 0){strcpy(temp, names[j]);strcpy(names[j],names[j1]);strcpy(names[j1], temp);temps scores[j];scores[j] scores[j1];scores[j1] temps;}}}for (int i 0; i studentsNumber; i){printf(排序后学生姓名:%s 学生成绩:%d\n, names[i], scores[i]);}
}int main(int argc, char const *argv[])
{char names[MAX][30] {0};int scores[MAX] {0};int studentsNumber 0;while (1){int n 0;print_menu();printf(请输入序号);scanf(%d, n);getchar();switch (n){case 1:printf(请输入学生个数:);scanf(%d, studentsNumber);getchar();enterStudents(studentsNumber,names,scores);break;case 2:viewStudents(studentsNumber,names,scores);break;case 3:bestStudents(studentsNumber,names,scores);break;case 4:nameStudents(studentsNumber,names,scores);break;case 0:goto END;default:printf(您输入的功能有误请重新输入\n);break;}}
END:return 0;
}以下代码作为纪念定义了全局变量没有传参直接实现函数功能了总之好像没啥意义
#include stdio.h
#include string.h
#define MAX 100
char names[MAX][30] {0};
int scores[MAX] {0};
int studentsNumber 0;void print_menu()
{printf(\t\t1.录入学生信息\n);printf(\t\t2.查看学生信息\n);printf(\t\t3.查询学习最好的学生信息\n);printf(\t\t4.按姓名将所有学生进行升序排序\n);printf(\t\t0.退出\n);
}
// 1.录入学生信息
void enterStudents(void)
{printf(请输入学生个数:);scanf(%d, studentsNumber);getchar();for (int i 0; i studentsNumber; i){printf(请输入第%d个学生的姓名:, i 1);scanf(%s, names[i]);getchar();printf(请输入第%d个学生的成绩:, i 1);scanf(%d, scores[i]);}
}// 2.查看学生信息
void viewStudents(void)
{printf(学生信息如下:\n);for (int i 0; i studentsNumber; i){printf(学生姓名:%s 学生成绩:%d\n, names[i], scores[i]);}
}// 3.求出学习最好的学生信息(求最大值)
void bestStudents(void)
{int maxi 0;for (int i 0; i studentsNumber; i){if (scores[maxi] scores[i]){maxi i;}}printf(成绩最好的学生姓名:%s 学生成绩:%d\n, names[maxi], scores[maxi]);
}// 4.按姓名将所有学生进行升序排序
void nameStudents(void)
{char temp[50] {0};int temps 0;for (int i 0; i studentsNumber - 1; i){for (int j 0; j studentsNumber - i - 1; j){if (strcmp(names[j], names[j 1]) 0){strcpy(temp, names[j]);strcpy(names[j],names[j1]);strcpy(names[j1], temp);temps scores[j];scores[j] scores[j1];scores[j1] temps;}}}for (int i 0; i studentsNumber; i){printf(排序后学生姓名:%s 学生成绩:%d\n, names[i], scores[i]);}
}int main(int argc, char const *argv[])
{while (1){int n 0;print_menu();printf(请输入序号);scanf(%d, n);getchar();switch (n){case 1:enterStudents();break;case 2:viewStudents();break;case 3:bestStudents();break;case 4:nameStudents();break;case 0:goto END;default:printf(您输入的功能有误请重新输入\n);break;}}
END:return 0;
}输出结果如下 思维导图整理