栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

编程对学生信息进行处理,要求写几个子函数分别实现:(1)随机输入不少于6个学生信息并保存;(2)按学号由小到大顺序排序后输出;(3)输入学号,用折半查找法找出该学生;(4)将第(3)找到的学生

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

编程对学生信息进行处理,要求写几个子函数分别实现:(1)随机输入不少于6个学生信息并保存;(2)按学号由小到大顺序排序后输出;(3)输入学号,用折半查找法找出该学生;(4)将第(3)找到的学生

(1)随机输入不少于6个学生信息并保存;

(2)按学号由小到大顺序排序后输出;

(3)输入学号,用折半查找法找出该学生;

(4)将第(3)找到的学生

#include
struct Student {
	int id;
	char name[20];
	int score;
};

//输入
void Input(struct Student *arr, int n) {
	for (int i = 0; i < n; i++)

	{
		printf("请输入第%d个学生的学号、姓名、成绩:", i + 1);
		scanf("%d %s %d", &arr[i].id, arr[i].name, &arr[i].score);
	}
}

//学号从低到高排序
void Sort(struct Student *arr, int n) {
	struct Student tmp;
	for (int i = 0; i < n - 1; i++) {
		for (int j = 0; j < n - i - 1; j++) {
			if (arr[j].id > arr[j + 1].id)

			{
				tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	}
	printf("*******学生信息********n");
	for (int i = 0; i < n; i++) {
		printf("学号:%dt姓名:%st分数:%dn", arr[i].id, arr[i].name, arr[i].score);
	}
}
//查找
int Search(struct Student*arr, int n) {
	int x, low = 0, hight, mid, y;
	printf("请输入想要查找的学生的学号:");
	scanf("%d", &x);
	hight = n - 1;
	while (low <= hight) {

		mid = (low + hight) / 2;
		if (arr[mid].id == x) {
			y = mid;
			return y;
		} else if (arr[mid].id > x) {
			hight = mid - 1;
		} else {
			low = mid + 1;
		}
	}
	y=-1;
	return y;
}
void Output(struct Student*arr,int y) {
	if(y==-1){
		printf("查无此人!n");
	}
	else
	{
		printf("******查询结果为******n");
		printf("学号:%dt姓名:%st分数:%dn", arr[y].id, arr[y].name, arr[y].score);	
	}
}
int main() {
	int n,y;
	struct Student arr[100];
	printf("输入学生信息总数:n");
	scanf("%d", &n);
	Input(arr, n);
	Sort(arr, n);
	y=Search(arr, n);
	 Output(arr,y);

	return 0;
}

运行结果为

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/690125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号