使用结构体实现学生成绩系统源码

简介: 使用结构体实现学生成绩系统源码


#include <stdio.h>
#include <stdlib.h>
struct student//定义一个结构体
{
  int score;//分数
  char *name;//名字
};
int main()
{
  int i;
    struct student stus[3];//定义一个结构体,3个学生,也可以改成其他数字
    struct student maxstu;
    struct student minstu;
    for(i=0;i<sizeof(stus)/sizeof(stus[0]);i++)//根据内存空间确定相除的结果是3
    {
      printf("请输入第%d个学生的姓名:\n",i+1);//i+1是以为输出的是第一个学生,而不是第0个
      stus[i].name=(char *)malloc(128);//开辟字符串128个内存空间,使其不成为野指针
            memset(stus[i].name,'\0',128);//初始化指针空间,成\0
      scanf("%s",stus[i].name);//输入学生姓名
      printf("请输入%d个学生的分数:\n",i+1);//输出
      scanf("%d",&stus[i].score);//输入学生成绩
    }
    for(i=0;i<sizeof(stus)/sizeof(stus[0]);i++)
    {
      printf("第%d个学生的名字和分数:\n",i+1);
      printf("%s:%d\n",stus[i].name,stus[i].score);
    }
        maxstu=minstu=stus[0];//将虽大最小值给stus[0]
        for(i=0;i<sizeof(stus)/sizeof(stus[0]);i++)
        {
      if(maxstu.score < stus[i].score)//如果最大值小于输入里面的值
      {
        maxstu=stus[i];//将里面的值给最大值
      }
          if(minstu.score > stus[i].score)
      {
        minstu=stus[i];
      }
        }
        printf("考最高分的是:%s:%d\n",maxstu.name,maxstu.score);
        printf("考最高分的是:%s:%d\n",minstu.name,minstu.score);
  system("pause");
  return 0;
}
相关文章
|
11月前
|
C语言
【C语言】实现通讯录管理系统
【C语言】实现通讯录管理系统
216 0
|
8天前
|
存储 数据可视化 C++
【C++】C++ 职工信息管理系统(源码)【独一无二】
【C++】C++ 职工信息管理系统(源码)【独一无二】
|
8天前
|
存储 数据可视化 数据安全/隐私保护
【C语言】C语言-成绩管理系统(管理员+教师+学生 源码)【独一无二】
【C语言】C语言-成绩管理系统(管理员+教师+学生 源码)【独一无二】
|
2月前
|
C语言
C语言实战项目——学生试卷分数统计
C语言实战项目——学生试卷分数统计
|
3月前
|
C语言
C语言之生肖、年龄、星座查询
C语言之生肖、年龄、星座查询
教务系统以数组的方式输入6位同学的成绩,输出平均成绩(调用函数,结果保留两位小数)并分别按照成绩高低显示出每位同学的成绩状况。
教务系统以数组的方式输入6位同学的成绩,输出平均成绩(调用函数,结果保留两位小数)并分别按照成绩高低显示出每位同学的成绩状况。
|
C语言
C语言实现通讯录(类似学生信息管理系统)
C语言实现通讯录(类似学生信息管理系统)
202 0
C语言实现通讯录(类似学生信息管理系统)
|
存储 C语言 iOS开发
基于c语言的学生学籍管理系统
基于c语言的学生学籍管理系统
210 0
基于c语言的学生学籍管理系统
|
C语言
队列实现图书信息管理(C语言)
队列实现图书信息管理(C语言)
40 0
猿创征文|【C++之友元函数与友元类】输出年龄
猿创征文|【C++之友元函数与友元类】输出年龄