首页 > 其他分享 >8.7今日学结构体

8.7今日学结构体

时间:2024-08-08 09:53:44浏览次数:11  
标签:sub 8.7 int 学生 char score printf 今日 结构

1.结构体数组存储学生信息(姓名,年龄,分数),完成输入学生信息,输出学生信息,求学生成绩之和,求最低学生成绩。

#include <myhead.h>
typedef struct 
{
	char name[20];
	int age;
	int score;
}stu;

int main(int argc, const char *argv[])
{
	/*结构体数组存储学生信息(姓名,年龄,分数),完成输入学生信息,
	输出学生信息,求学生成绩之和,求最低学生成绩。
	*/
	stu s[3];
	int i;
	for(i = 0;i<3;i++)
	{
		printf("请输入学生的信息:");
		scanf("%s%d%d",s[i].name,&s[i].age,&s[i].score);
	}
	for(i = 0;i<3;i++)
	{
		printf("姓名:%s\t年龄%d\t成绩%d\n",s[i].name,s[i].age,s[i].score);
	}
	int sum=0;
	for(i = 0;i<3;i++)
	{
		sum+= s[i].score;
	}
	printf("成绩之和为%d\n",sum);
	int min,count = 0;
	int sub;
	for(i = 0;i<3;i++)
	{
		count++;
		if(count == 1)
		{
			min = s[i].score;
		}
		if(s[i].score<=min)
		{
			min = s[i].score;
			sub = i;
		}
	}
	printf("最低成绩的学生是:\n");
	printf("姓名:%s\t年龄:%d\t成绩:%d\n",s[sub].name,s[sub].age,s[sub].score);
	return 0;
}

 2.在堆区,申请5个结构体空间,存储学生信息(姓名,分数)循环输入学生信息,按照输入姓名查找某个学生,修改其成绩为100分。

#include <myhead.h>
typedef struct
{
	char name[20];
	int score;
}stu;

int main(int argc, const char *argv[])
{
	/*在堆区,申请5个结构体空间,存储学生信息(姓名,分数)
循环输入学生信息,按照输入姓名查找某个学生,修改其成绩为100分。
		*/
	stu *p = malloc(sizeof(stu)*5);
	int i;
	for(i = 0;i<5;i++)
	{
		printf("请输入学生的信息:");	
		scanf("%s%d",(p+i)->name,&(p+i)->score);
	}
	for(i = 0;i<5;i++)
	{
	 	printf("姓名%s\t成绩%d\n",(p+i)->name,(p+i)->score);
	}
	int sub = -1;
	char key[20];
	printf("请输入要查找及修改的姓名:");
	scanf("%s",key);
	for(i = 0;i<5;i++)
	{
		if(strcmp((p+i)->name,key)==0)
		{
			sub = i;
		}
	}
	if(sub == -1)
	{
		printf("查找失败\n");
	}
	else
	{
		printf("查找成功\n");
		printf("姓名:%s\t成绩:%d\n",(p+sub)->name,(p+sub)->score);
	}
	(p+sub)->score = 100;
	printf("已将其成绩改为100\n");
	for(i = 0;i<5;i++)
	{
	 	printf("姓名%s\t成绩%d\n",(p+i)->name,(p+i)->score);
	}

	return 0;
}

标签:sub,8.7,int,学生,char,score,printf,今日,结构
From: https://blog.csdn.net/qq_62099195/article/details/140999434

相关文章

  • C语言菜鸟入门·数据结构·链表超详细解析
     目录1. 单链表1.1 什么是单链表1.1.1  不带头节点的单链表1.1.2 带头结点的单链表1.2 单链表的插入1.2.1 按位序插入(1)带头结点(2)不带头结点1.2.2 指定结点的后插操作1.2.3 指定结点的前插操作1.3 单链表的删除1.3.1 按位序删除1.3.2 指......
  • Java数据结构 | 二叉树基础及基本操作
    二叉树一、树型结构1.1树的概念1.2关于树的一些常用概念(很重要!!!)1.3树的表示形式1.4树的应用二、二叉树2.1二叉树的概念2.2两种特殊的二叉树2.3二叉树的性质2.4二叉树的存储2.5二叉树的基本操作2.5.1代码说明2.5.2二叉树的遍历2.5.3二叉树的基本操作1、获取树......
  • 【数据结构】LinkedList与链表
    目录链表1、链表的概念及结构 2、LinkedList的使用2、1什么是LinkedList2、2LinkedList的使用3、LinkedList的遍历4、LinkedList的模拟实现 5、ArrayList和LinkedList的区别上篇已经熟悉了ArrayList的使用,ArrayList底层使用数组来存储元素。由于其底层是一段连续......
  • 8.7 模拟赛
    \(x+y+z\)表示赛时预计\(x\)分,实际\(y\)分,赛后补了\(z\)分。4.5小时5道题。有一道炼石的题,那场我们打过,当时那题场切了。但是现在不会做了【】有一道CF某div.2F的弱化。没做出来【】T1.降温赛时想出了做法,拍了一点小数据。但是最后被浮点数的精度和__int128......
  • 2024.8.7鲜花
    夏日重现,补完力!前年追到了18集,后因该死的集训被迫中断,但还是偶尔在机房与Ryder共赏,剧透了潮复活的情节,今夕是何年。可惜曲终人散,各奔东西,转眼间已分别半年,再过三个月我也将与机房断开联系,回归或许枯燥的文化课。牢波,想你了!刚开始接触这部番,是因为我和我姐前年暑假去表哥家玩,我......
  • 2024.8.7 模拟测
    A(P7968[COCI2021-2022#2]Osumnjičeni)考虑对于一次询问直接从左往右划分段,直至当前加入的人与前面某个人的身高有交集,则新开一个段。设\(nx_i=j\)表示从第\(i\)个人开始划分,要到第\(j\)个人才会出现冲突(若永远不会冲突则让\(nx_i=n+1\))。一次询问相当于初始时让......
  • Android开发基础06-Android项目结构
    详细介绍Android项目结构Android开发过程中,高效、清晰的项目结构是成功的关键。理解并合理组织项目结构,有助于提高代码的可维护性和团队协作的效率。目录概览一个典型的Android项目目录结构如下:MyApplication/├──app/│├──build/│├──libs/│├......
  • 2024.8.7 test
    A一个基环树上,给出每条边可以存在的时间,你还有\(L\)的时间可以分配给边。你要安排边开始存在的时间,使得联通的时间最长,求这个值。\(n\le10^5\)。先不考虑\(L\)。如果是树,那么答案是边存在时间的最小值。如果是基环树,那么把环上次小边加上最小边,并删掉最小边,变成树求最小边......
  • 一文速通Redis常见问题,带你深入了解Redis数据结构、分布式锁、持久化策略等经典问题。
    本文参考资料:黑马Redis讲义本文参考资料:JavaGuide,guide哥的八股内容个人思考的Redis实践,面试问题的总结,反思目录Redis五大数据结构String1.String数据结构(SDS)2.String应用场景3.Hash与String存储对象的区别SetListHashSortedSetRedis三种特殊数据结构BitMap(位图)......
  • 【日常开发】 java返回ECharts数据结构封装
    java返回ECharts数据结构封装一、前端页面示例图如下:二、准备测试数据:三、后端格式封装代码:四、最终结果:......