C语言结构体的使用!简易学生成绩统计程序发布!

简介:
编写环境C-Free(很很好用的编辑器,支持中文输出,而且非常清晰)由于压缩之后还是不让上传,所以留个邮箱我给发过去。
下面进入正题:
#include <stdio.h>
struct student
{int num;
char name[30];
char sex;
float Chinese;
float Math;
float English;
}stu[4]={{2007480001,"hehe",'F',77.5,120.5,14.5},
{2007480002,"haha",'M',13.5,10.5,1190.5},
{2007480003,"dede",'F',10.5,90.5,119.5},{}};
void main()
{
 printf("********全班最好成绩*********\n\n");
if ((stu[1].Chinese+stu[1].Math+stu[1].English)>(stu[2].Chinese+stu[2].Math+stu[2].English))
    stu[4]=stu[1];
 else
    stu[4]=stu[2];

 if ((stu[0].Chinese+stu[0].Math+stu[0].English)>(stu[4].Chinese+stu[4].Math+stu[4].English))
    printf("第一名是 %s",stu[0].name);
 else
    printf("第一名是 %s\n\n",stu[4].name);


 printf("********及格情况*********\n\n");

int j,c=0,m=0,e=0;

  for(int i=0;i<3;i++)
     {if(stu[i].Chinese<60)
      {++c;}
      if(stu[i].Math<60)
      {++m;}
      if(stu[i].English<60)
      {++e;}
     }
printf("语文不及格的人数有%d个。\n数学不及格的有%d个。\n英语不及格的有%d个.\n\n",c,m,e);
float k,q,p;
    k=c/3.0f*100;
    q=m/3.0f*100;
    p=e/3.0f*100;
printf("\n语文不及格的人数占%f%%。\n数学不及格的占%f%%。\n英语不及格的占%f%%.\n\n",k,q,p);

printf("********个人成绩数据*********\n\n");


printf("姓名:%s 总分:%f 平均分:%f\n",stu[0].name,(stu[0].Chinese+stu[0].Math+stu[0].English),(stu[0].Chinese+stu[0].Math+stu[0].English)/3.0);
printf("姓名:%s 总分:%f 平均分:%f\n",stu[1].name,(stu[1].Chinese+stu[1].Math+stu[1].English),(stu[1].Chinese+stu[1].Math+stu[1].English)/3.0);
printf("姓名:%s 总分:%f 平均分:%f\n",stu[2].name,(stu[2].Chinese+stu[2].Math+stu[2].English),(stu[2].Chinese+stu[2].Math+stu[2].English)/3.0);
}


如果你想更复杂一点,可以把初定义去了,手写输入数据。
只要用链表插入数据就可以,我这里就省了。
总之可以做的复杂一点。挺实用的。
本文转自施杨博客园博客,原文链接:http://www.cnblogs.com/shiyangxt/archive/2008/06/19/1226161.html,如需转载请自行联系原作者
相关文章
|
19天前
|
存储 网络协议 编译器
【C语言】深入解析C语言结构体:定义、声明与高级应用实践
通过根据需求合理选择结构体定义和声明的放置位置,并灵活结合动态内存分配、内存优化和数据结构设计,可以显著提高代码的可维护性和运行效率。在实际开发中,建议遵循以下原则: - **模块化设计**:尽可能封装实现细节,减少模块间的耦合。 - **内存管理**:明确动态分配与释放的责任,防止资源泄漏。 - **优化顺序**:合理排列结构体成员以减少内存占用。
95 14
|
23天前
|
存储 编译器 C语言
【C语言】结构体详解 -《探索C语言的 “小宇宙” 》
结构体通过`struct`关键字定义。定义结构体时,需要指定结构体的名称以及结构体内部的成员变量。
101 10
|
26天前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
52 5
|
27天前
|
存储 数据建模 程序员
C 语言结构体 —— 数据封装的利器
C语言结构体是一种用户自定义的数据类型,用于将不同类型的数据组合在一起,形成一个整体。它支持数据封装,便于管理和传递复杂数据,是程序设计中的重要工具。
|
1月前
|
存储 C语言
C语言如何使用结构体和指针来操作动态分配的内存
在C语言中,通过定义结构体并使用指向该结构体的指针,可以对动态分配的内存进行操作。首先利用 `malloc` 或 `calloc` 分配内存,然后通过指针访问和修改结构体成员,最后用 `free` 释放内存,实现资源的有效管理。
117 13
|
26天前
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
57 4
|
1月前
|
存储 编译器 数据处理
C 语言结构体与位域:高效数据组织与内存优化
C语言中的结构体与位域是实现高效数据组织和内存优化的重要工具。结构体允许将不同类型的数据组合成一个整体,而位域则进一步允许对结构体成员的位进行精细控制,以节省内存空间。两者结合使用,可在嵌入式系统等资源受限环境中发挥巨大作用。
60 11
|
25天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
56 1
|
26天前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
37 2
|
26天前
|
程序员 C语言
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门。本文深入探讨了指针的基本概念、声明方式、动态内存分配、函数参数传递、指针运算及与数组和函数的关系,强调了正确使用指针的重要性,并鼓励读者通过实践掌握这一关键技能。
36 1