IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> C语言初学七(动态构造存放学生信息的结构体数组,并按分数大小输出) -> 正文阅读

[数据结构与算法]C语言初学七(动态构造存放学生信息的结构体数组,并按分数大小输出)

/*
	动态存放学生信息的结构体数组,并按成绩排序输出 
*/
#include <stdio.h>
#include <malloc.h>
//定义结构体:复杂数据结构 
struct Student{
	int age;
	float score;
	char name[100];
};
//定义函数:输入数据
void input(struct Student * info,int  len){
	int i;
	for(i = 0;i < len;i++){
		printf("请输入第%d个学生的信息:\n",i+1);
		printf("age = ");
		scanf("%d",&info[i].age);
		printf("score = ");
		scanf("%f",&info[i].score);
		printf("name = ");
		scanf("%s",info[i].name);//name是数组名,本身就是数组首地址,所以不用再添加取地址符号 
	}
} 
//对成绩进行排序:冒泡排序 
void sort(struct Student * info,int len){
	struct Student t;
	int i,j;
	for(i = 0;i < len-1;i++){
		for(j = 0;j < len-1-i;j++){
			if(info[j].score < info[j+1].score){
				t = info[j];
				info[j] = info[j+1];
				info[j+1] = t;
			}
		}
	}
} 
//输出函数 
void output(struct Student * info,int len){
	int i;
	printf("以下是学生的信息:\n");
	for(i = 0;i < len;i++){
		printf("第%d个学生的信息:\n",i+1);
		printf("age = %d\n",info[i].age);
		printf("score = %f\n",info[i].score);
		printf("name = %s\n",info[i].name);
	}
}
int main(void){
	struct Student * pArr;
	int len;
	printf("请输入学生的个数:");
	scanf("%d",&len);
	pArr = (struct Student *)malloc(len * sizeof (struct Student));
	input(pArr,len);
	sort(pArr,len);
	output(pArr,len);
	
	return 0;
}
/*
在Dev-C++中的输出结果是:
-------------------------------
	请输入学生的个数:3
	请输入第1个学生的信息:
	age = 1
	score = 23
	name = lucky
	请输入第2个学生的信息:
	age = 23
	score = 9
	name = 无误
	请输入第3个学生的信息:
	age = 8
	score = 88
	name = 哈哈
	以下是学生的信息:
	第1个学生的信息:
	age = 8
	score = 88.000000
	name = 哈哈
	第2个学生的信息:
	age = 1
	score = 23.000000
	name = lucky
	第3个学生的信息:
	age = 23
	score = 9.000000
	name = 无误 
-----------------------------------
*/
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:50:35  更:2022-03-30 18:55:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 1:28:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码