C语言练习—使用结构体指针实现成绩计算操作

基于C语言的学生试卷分数统计程序设计及实现 基于C语言的学生试卷分数统计程序设计及实现 - 程序运行时,首先必须接收总评成绩的计算比例,针对该课程,平时成绩和期末考试成绩所占的比例分别为20%和80%。 - 接收若干同学的平时成绩和期末考试成绩,计算出总评成绩。 - 输出所有学号、平时成绩、期末卷面成绩和总评成绩,输出各分数段的分数分布情况。 - 画出各分数段的直方图。 - 计算平时成绩、期末成绩和总评成绩的平均分 和标准差,以及期末考试卷面的及格率、最高分和最低分等。 阅读详情
#include <stdio.h>
#include <stdlib.h>
struct Student
{
	int score;
    char *name;
};//分号

//初始化
struct Student* initStu(int len)
{
	
    int i;
    
    //struct Student stus[5];
    //struct Student *p = stus;
    struct Student *p = (struct Student *)malloc(len*sizeof(struct Student));
	for(i=0;i<len;i++)
    {
		printf("请输入第%d个学生的名字:\n",i+1);
        p->name = (char *)malloc(128);
        scanf("%s",p->name);
        printf("请输入第%d个学生的成绩:\n",i+1);
        scanf("%d",&p->score);
        p++;
    }
    return p-len;
}

//输出
struct Student* printMessige(struct Student *p,int len)
{
	int i;
    for(i=0;i<len;i++)
    {
		printf("第%d个学生:名字:%s,成绩:%d.\n",i+1,p->name,p->score);
        p++;
    }
}

//计算最高成绩
struct Student* maxScore(struct Student *p,int len)
{
	int i;
    struct Student *max;
    max = p;
    for(i=0;i<len;i++)
    {	
        if(max->score < p->score)
        {
			max = p;
        }
		p++;
	}
    return max;
}

//计算最低成绩
struct Student* minScore(struct Student *p,int len)
{
	int i;
    struct Student *min;
    min = p;
    for(i=0;i<len;i++)
    {	
        if(min->score > p->score)
        {
			min = p;
        }
		p++;
	}
    return min;
}

//计算平均成绩
float average(struct Student *p,int len)
{
	float avg;
    int i;
    float sum = 0;
    for(i=0;i<len;i++)
    {
		sum = sum + p->score;
        p++;
	}
    avg = sum/len;
    return avg;
}

//找人
int findSomeon(struct Student *p, int len, char *name)
{
	int i;
    for(i=0;i<len;i++)
    {
		if(strcmp(name, p->name) == 0)
        {
			return 1;
        }
        p++;
    }
    return -1;
}
int main()
{	
    float avg;
    int len = 0;
    printf("请输入要存储的学生数:\n");
    scanf("%d",&len);
    
    struct Student *max = NULL;
    struct Student *min = NULL;
	struct Student *pstu = initStu(len);
    
    printMessige(pstu,len);
    
    max = maxScore(pstu,len);
    printf("最高分的学生姓名为:%s.成绩为:%d\n",max->name,max->score);
    
    min = minScore(pstu,len);
    printf("最低分的学生姓名为:%s.成绩为:%d\n",min->name,min->score);
    
    avg = average(pstu,len);
    printf("平均分为:%.2f\n",avg);
    
    //printf("请输入要查询的人:\n");
    //scanf("%s",Pname);
    if(findSomeon(pstu, len, "Zhangsan") == -1)
    {	
		printf("不存在此人!\n");
    }else{
		
        printf("存在此人!\n");
    }
	system("pause");
	return 0;
}

C语言结构体指针综合练习 @C语言结构体、数组、指针综合练习 #include <stdio.h> #include <string.h> /定义学生实体/ struct students { char id[20]; char name[20]; float Chinese; float math; float English; }; /* 函数声明 input函数用结构体实... 阅读详情

相关推荐

【C语言从不挂科到高绩点】22-指针04-结构体指针【重点知识】

当一个指针变量指向结构体数据时,我们就称这个指针为结构体指针。struct 结构体名 * 变量名;char *name;// 学生的姓名int num;// 学生的学号int age;// 学生的年龄// 定义结构体变量并赋值// 定义结构指针变量// 定义了指针,指向了stu1这个变量所对应的地址空间也可以在定义结构体的同时,定义结构体指针// int a,b;char *name;// 学生的姓名int num;// 学生的学号int age;

yueyehuguang的博客 1513

c语言利用指针进行成绩排名,c语言实现学生成绩录入,主要是对指针的运用

今儿,有同僚讨论一个源程序,是关于“学生分数的录入的”。其中用到了链表,涉及到的就是链表的增删改查功能。我在原来的基础上修改了一些,基本功能已经调试通过。功能如下:1、输入type类型2、type为1,是增加一个学生为2,删除输入学号的学生为3,删除输入成绩的学生(暂时为实现)为4,修改输入的学号的学生分数为5,查找目标学号的学生成绩为0, 直接打印所有学生的学号和成绩源代码如下:#include...

weixin_35749786的博客 1186

用 Keil5 理解 C 语言结构体(二):结构体指针的定义与访问

本文介绍了结构体指针的基础概念与应用。通过类比普通指针,阐明了结构体指针存储结构体首地址的特性,并通过代码验证其地址关联关系。重点讲解了结构体指针访问成员的特殊方式——使用->运算符,其本质是"基地址+偏移量"的自动计算。文章通过实例对比,展示了p->成员与结构体变量.成员的等效性,并指出结构体指针在传递大型数据时的性能优势。最后强调结构体指针在嵌入式开发中处理复杂数据结构的重要价值,为后续学习打下基础。

2502_90552706的博客 1430

c语言使用指针实现学生成绩管理

【代码】c语言使用指针实现学生成绩管理。

rain_fores_t的博客 342

C语言指针:实现对考试成绩的计算、排序和查询功能

函数,用户可以输入一个学生ID,该函数将在学生数组中查找匹配的学生,并输出该学生的排名及其考试分数。该代码还提供了查找学生排名的功能,用户可以输入学生ID,程序将查找该学生在班级中的排名及其考试分数。输入学生信息:通过用户输入,我们获取学生的数量以及每个学生的学生ID和各科分数。结构体,用于存储每个学生的信息,包括学生ID、各科分数、总分、平均分和名次。结构体来表示每个学生的信息,包括学生ID、各科分数、总分、平均分和名次。主函数首先获取学生人数,并依次输入每个学生的学生ID和各科分数。

走向CTO的路上... 1894

【基于51】红外寻迹智能小车 - 代码篇

这是一个基于C51单片机的红外巡线智能小车,是一个适合嵌入式单片机、C语言初学者练习的小Demo,文章提供完整的项目思路、免费的源代码。

ZER00000001的博客 3万+

C语言练习—使用结构体数组实现成绩计算操作

#include <stdio.h> #include <stdlib.h> struct Student { int score; char *name; }; int main() { int i; struct Student Stus[3]; struct Student maxScore; struct Student minScore; for(i=0;i<3;i++) { printf("请输入第%d个学生的

O2_H2O的博客 772

《雷达入门课 》系列文章(5)线性调频连续波雷达基本原理(第1讲)

S=B/Tc,是调频斜率。这里的混频公式推导过程比较简单,具体的混频过程如果感兴趣可以看下面粗略的推导,混频的本质就是频谱搬移,分为上变频和下变频,一般我们用下变频,即差频信号,因此需要一个低通滤波器即可滤出我们所需要的信号。答案就是因为中频信号能够映射出目标的距离信息,换句话说就是目标的距离不一样,返回的时间τ也就不一样,因此中频信号的频率大小也就不一样,可以说距离和中频信号是成映射关系的。中频只是表示信号频段的程度词,不是表示信号的状态词,意思就是说中频是指信号的频率不是很高,正好处于中间的地位。

【调皮连续波】雷达技术领域知识博主 6022

学生成绩管理系统(C语言·结构体)

下面是用C语言的结构体做的学生成绩管理系统,代码简单易懂, 最重要的是大家可以看下面代码的循环和选择,了解如何从菜单进入功能,如何从功能返回菜单。 废话不多说,大家看代码吧 //学生成绩管理系统-结构体 #include<stdio.h> #include<string.h> #define N 100 #define M 20 #define H 4 #define T 10 void emnu(); //打印菜单 typedef struct stu {

yihua2001的博客 3161

飞常准小程序接口逆向分析:如何破解航班查询的签名机制

本文深度解析了飞常准小程序航班查询接口的安全机制,重点剖析了其基于MD5和参数排序的签名算法。通过逆向分析核心代码,详细阐述了签名生成流程,并提供了Python实现的签名生成器与调试技巧,为开发者理解与模拟此类接口调用提供了实战指南。

zz67890的博客 531

Vue3项目实战:CKEditor5富文本编辑器从安装到隐藏不需要的功能

本文详细介绍了在Vue3项目中集成并深度定制CKEditor5富文本编辑器的完整流程。通过分析其模块化架构,指导开发者从标准构建出发,移除图片、表格等冗余插件,创建专属轻量构建,从而显著减小打包体积并提升用户体验。文章结合实战代码,涵盖了环境搭建、自定义构建配置、高级优化技巧等关键步骤。

weixin_29016833的博客 283

C 语言结构体数组指针以及函数

结构体数组指针 指针变量可以指向一个结构体数组,这时指针变量的值是整个数组的首地址。 设 ps 为指向结构体数组的指针变量,则 ps 也指向该结构体数组的第 0个元素,ps+1 指向第一个元素,ps+i 则指向第 i 元素,这与普通数组的情况是一样的。 【示例】用指针变量输出结构体数组。 #include &lt;stdio.h&gt; struct stu{ int num; c...

weixin_42528287的博客 1万+

CentOS校园网Web Portal认证自动化实战

Web Portal认证是一种基于HTTP重定向与表单提交的强制网络准入机制,其原理是网关劫持未认证流量并跳转至登录页,验证通过后通过Cookie维持会话授权。该技术广泛应用于高校、机场、酒店等场景,核心价值在于细粒度访问控制与用户身份绑定。典型应用包括Linux命令行环境下的校园网接入、无GUI设备的自动联网、以及实验室集群的集中认证管理。本文聚焦CentOS系统,深入解析curl、cookie持久化、动态表单参数提取等关键技术环节,提供可调试、可复现、可工程化的完整认证流水线。

weixin_30522983的博客 265

C语言--简单的学生成绩管理系统--附源代码(链表,结构体指针)

一、实训目的 通过本实训,主要目的是让学生掌握以下知识点: 1、结构体数组的定义和使用。 2、结构体数据的输入与输出方法。 3、插入、排序、查找、删除算法的实现。 4、初步了解一个简单管理系统的设计方法。 二、实训内容 1、输入:函数input把10个学生的学号、姓名、性别、年龄、四科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、姓名、四科成绩由键盘输入,然后计算出平均成绩和总成绩放在结构体对应的域中。2、插入:insert 函数输入一个学生的记录,按学号的先后顺序插入该学生的全部

m0_62351105的博客 1万+

GD32F4xx 移植agile_modbus软件包与电能表通信

GD32F4XX 移植agile modbus软件包实现与DTSU电能表通信调试记录

madao1234的博客 1305

手把手教你学Simulink--基于飞轮储能系统的场景实例:飞轮储能与锂电池混合储能系统的协同控制

本文详细介绍了基于Simulink的飞轮储能与锂电池混合储能系统协同控制建模方法。通过高通/低通滤波器实现功率分配,使飞轮处理高频波动(±100kW),锂电池承担削峰填谷(50kW)。仿真结果表明,该系统效率达88%,锂电池循环次数减少90%,投资成本比纯电池方案节省200万美元。文章包含完整的建模步骤、控制策略设计和多场景仿真分析,为构建高效、长寿、经济的智能储能系统提供了实用解决方案。

MHD0815的博客 342

【c 语言】结构体指针

首先,你需要定义一个结构体。int age;这里定义了一个名为Studentname(一个字符数组用于存储学生姓名)、age(一个整数用于存储学生年龄)和score(一个浮点数用于存储学生成绩)。这篇文章到这里就结束了如果觉得这篇博客对你有用的话,别忘记三连哦。我是豌豆射手^,让我们我们下次再见。

m0_74195174的博客 1367

使用DrissionPage实现携程酒店信息智能爬取

本文介绍了一个基于DrissionPage技术的携程酒店信息爬虫系统,通过监听API数据包实现高效采集。系统可自动获取酒店名称、价格、评分、位置等15个维度的数据,支持多页滚动加载和智能去重。相比传统爬虫,该方法直接解析API返回的JSON数据,避免了复杂的HTML解析和加密参数分析,提高了开发效率和稳定性。文章详细阐述了13个关键实现步骤,并强调数据采集应严格遵守法律法规,仅用于技术学习和市场研究。该系统可为旅游决策、价格监测等提供数据支持,但需注意合理使用频率和隐私保护。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 386

C语言结构体总结(详细,直观,全面)

新年必看的一篇结构体文章

weixin_73233099的博客 7242

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C语言小题,有n个结构体变量,内含学生学号、姓名和3门课程的成绩。要求输出平均成绩最高的学生的信息(包括学号、姓名、3门课程成绩和平均成绩)(用结构体变量和结构体变量的指针作函数参数)。

C语言小题,有n个结构体变量,内含学生学号、姓名和3门课程的成绩。要求输出平均成绩最高的学生的信息(包括学号、姓名、3门课程成绩和平均成绩)(用结构体变量和结构体变量的指针作函数参数)。

MrYin的博客 5090

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【C语言】结构体-求出学生的平均成绩放在成员ave中

先说下什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员,且这些成员可以为不同的类型,成员一般用名字访问。 结构体的定义 C语言结构体类型的定义为: typedef struct 类型名 ...

Zarek_IT的博客 3292

c语言程序中的指针箭头怎么敲,C语言 结构体和指针详解及简单示例

指针也可以指向一个结构体,定义的形式一般为:struct 结构体名 *变量名;下面是一个定义结构体指针的实例:struct stu{char *name; //姓名int num; //学号int age; //年龄char group; //所在小组float score; //成绩} stu1 = { "Tom", 12, 18, 'A', 136.5 };//结构体指针struct stu ...

weixin_35949264的博客 5202

基于C语言学生成绩管理系统的设计与开发

学生成绩管理系统的开发与设计的背景在各类学校中,学生成绩管理都是一个非常重要的问题,传统的成绩管理记录和保存都非常困难,而且容易出错,查询也非常不方便。因此,在当今信息时代,学生成绩管理系统应运而生。它主要提供学生资料的输入、输出、查询、删除以及学生信息的排序等功能。本文基于C语言来开发和设计出写学生成绩管理系统程序,来达到学习C语言之后的综和的实际应用。本系统基于C语言的应用,该系统要实现的功能主要有学生信息的增加、修改、查询、保存和排序等,具体如下。

m0_47419053的博客 2789

C语言_结构体练习

2021-04-15 结构体练习 结构体及变量 struct 结构体名 { 成员列表; } 结构体变量名; 结构体作为函数参数和返回值 struct student avg_fun(struct student s) { s.avg=(s.Chinese+s.English+s.Math)/3.0; return s; } 结构体的嵌套,链式访问 注意:结构体不能嵌套它自身(除非是结构体指针类型) struct score { int Chinese; int English;

weixin_44342705的博客 3673

C语言基础-结构体(一)综合:学生成绩管理系统( 姓名、成绩、最高分、最低分、平均分)(结构体、函数、指针)

先讲一下要求 项目要求:使用结构体实现一个学生成绩管理系统。 1、可输入学生的姓名与成绩,学生数量可设定。 2、打印出各个学生的成绩。 3、取的最好成绩学生的姓名。 4、取的最差成绩学生的姓名。 5、最后得出所有学生的平均成绩。 使用的知识点:结构体指针、结构体数组 ...

阿——波罗的博客 2745

结构体、结构体数组与结构体指针指针

数组,是手动分配的连续空间,他是有空间大小的;首先需要看操作系统的位数,1字节 = 8位,所以32位操作系统可以操作的字节长度是4位,同理64位操作系统可以操作的是8位,然后就可以计算结构体的内存大小,我们可将结构体数组和结构体指针,带入到结构体内看,结构体内的数组是直接分配好空间大小的,但指针是没有分配空间的,我们需要在使用前对其分配空间大小,不然无法使用。,是指向数据地址的变量, 而每个数据类型在计算机中都会有其存储的地址,所以指针是可以直接指向结构体的,这是比较基础的用法。

小白的博客 2584
上一篇: C语言学习笔记—结构体的定义和使用
下一篇: C语言练习—使用结构体数组实现成绩计算操作
Akzeptieren
博客等级 码龄8年 65粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值