仅供借鉴、仅供借鉴、仅供借鉴(整理了一下大一C语言每个章节的练习题、没得题目、只有程序了)

1 、实训名称

实训8:结构体和共用体

2 、实训目的及要求

1、了解结构体,共用体的概念
2、熟练掌握结构体,共用体的定义、赋值、使用。
3 、学会正确使用结构体变量

3、源代码及运行截图


#include<stdlib.h>
#include<stdio.h>
#include<String.h>
#define N 10 struct student{
char name[N];
int score;
int no; //学号
}; void input(struct student stu[N]);//输入函数
void sort(struct student stu[N]);//排序函数
void aver(struct student stu[N]);//求分函数
void locating(struct student stu[N]);//查找函数 void input(struct student stu[N]){
int i;
for(i=0;i<N;i++)
{
printf("请输入第%d名学生的信息:",i+1);
scanf("%s%d%d",&stu[i].name,&stu[i].no,&stu[i].score);
}
}
void sort(struct student stu[N]){ //冒泡排序
int i,k;
struct student temp;
for(k=1;k<N;k++)
for(i=N-1;i>=k;i--)
if(stu[i].score>stu[i-1].score)
{
temp=stu[i];
stu[i]=stu[i-1];
stu[i-1]=temp;
}
printf("\t排名\t姓名\t学号\t成绩\n");
for(i=0;i<N;i++)
{
printf("\t%-8d%-8s%-8d%-8d\n",i+1,stu[i].name,stu[i].no,stu[i].score);
}
}
void aver(struct student stu[N]){
int max=stu[0].score;
int min=stu[0].score;
double average;
int i,sum=0;
for(i=0;i<N;i++)
{
if(stu[i].score>max)
{
max=stu[i].score;
}
}
for(i=0;i<N;i++)
{
if(stu[i].score<min)
{
min=stu[i].score;
}
}
for(i=0;i<N;i++)
{
sum+=stu[i].score;
}
average=sum/10.0;
printf("这10名学生的平均分为:%.2lf,最高分为:%d,最低分为:%d",average,max,min);
} void locating(struct student stu[N]){
int i,ch;
printf("请输入你要查找的学号:");
scanf("%d",&ch);
for(i=0;i<N;i++)
if(ch==stu[i].no)
{
printf("查找到的学生,信息如下\n");
printf("\t姓名\t学号\t成绩\n");
printf("\t%-8s%-8d%-8d\n",stu[i].name,stu[i].no,stu[i].score);
}
} int main()
{
int i;
struct student stu[N];
input(stu);
printf("\n成绩经过排序后为:\n");
sort(stu);
printf("\n");
locating(stu);
printf("\n");
aver(stu);
getchar();
getchar();
return 0;
}

4 、小结

通过本次实验,结构体可以存储不同类型的数据。可以将一类事物的相关信息写在一个结构体中便于操作。在对结构体进行赋值时需要用到循环结构。结构体可以当做特殊的数组进行对待,基本的操作和数组相似。

C语言------结构体和共用体的更多相关文章

  1. 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符

    [源码下载] 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 结构体 ...

  2. 全国计算机等级考试二级教程-C语言程序设计_第14章_结构体、共用体和用户定义类型

    函数的返回值是结构体类型 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> struct ...

  3. __c语言__结构体、共用体、枚举__笔记

    2017-09-16 21:14:09 结构体,共用体,枚举 1.结构体 把不同的类型整合成一个有机的整体,以便于引用,这个类型就叫做结构体 1)结构体变量的定义方式(3种)和引用成员变量: 定义一个 ...

  4. C语言程序设计(十二) 结构体和共用体

    第十二章 结构体和共用体 当需要表示复杂对象时,仅使用几个基本数据类型显然是不够的 根本的解决方法是允许用户自定义数据类型 构造数据类型(复合数据类型)允许用户根据实际需要利用已有的基本数据类型来构造 ...

  5. [C#.NET 拾遗补漏]14:使用结构体实现共用体

    在 C 和 C# 编程语言中,结构体(Struct)是值类型数据结构,它使得一个单一变量可以存储多种类型的相关数据.在 C 语言中还有一种和结构体非常类似的语法,叫共用体(Union),有时也被直译为 ...

  6. C++程序设计之结构体,共用体,枚举和typedef

    [1]结构体的基本功 注意结构体里面可以有很多东西,可以结构体里面包含结构体 #include<iostream> using namespace std; struct Date { i ...

  7. C++面试常见问题——13结构体与共用体的sizeof

    结构体与共用体的sizeof 结构体的sizeof 结构体变量占用的内存空间大小通常是其基本类型的大小,但是由例外(字节对齐机制) struct S1{ char c[5]; int a; doubl ...

  8. 07.C语言:结构体、共用体、枚举

    一.结构体 是一种复合的数据类型,由多个不同类型的数据(为结构体的成员)组成的集合. 在c语言中没有给出结构体这种类型具体的形式(名称),但是给出类定义该结构体类型的方法(格式). 在使用结构体类型时 ...

  9. C语言:结构体,共用体

    结构体: 一个变量,存储不同类型的数据项共用体:一个变量,存储不同类型的数据项,相同的内存位置,存储不同的数据类型 #include <stdio.h> #include <stri ...

随机推荐

  1. Vue3 使用v-md-editor如何动态上传图片了

    Vue3 使用v-md-editor如何动态上传图片了 前端代码: <v-md-editor :autofocus="true" v-model="blog.con ...

  2. 3. 安装部署MGR集群 | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装准备 2. 初始化MySQL Server 3. 初始化MGR第一个节点 4. 继续设置另外两个节点 5. ...

  3. axios post请求变为options请求的解决方法

    全局配置 axios.defaults.headers['Content-Type']='application/x-www-form-urlencoded' 注意:使用全局配置会导致所有请求头的'C ...

  4. B端产品需求分析与优先级判断

    需求分析是产品经理工作中的重要一部分,而对B端产品经理来说,因为业务的特殊性,所以需求分析更考验产品经理的基础能力比如还原场景中业务调研的能力.需求价值分析中对价值的界定等. B端厂商的产品需求多数来 ...

  5. RabbitMQ 入门系列:3、基础编码:官方SDK的引用、链接创建、单例改造、发送消息、接收消息。

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...

  6. html + css 实现无需 js 的打字效果

    以前要达到类似在电脑上打字的效果,需要 js+html.今天我将介绍一种新方法.本文主要介绍纯 html+css 实现打字效果,有一定的参考价值,大家可以学习一下.提供所有代码,可以直接使用. 一.原 ...

  7. 「雅礼集训 2017 Day7」跳蚤王国的宰相(树的重心)

    题面 来源 「 雅 礼 集 训 2017 D a y 7 」 跳 蚤 王 国 的 宰 相   传 统 2000   m s 1024   M i B {\tt「雅礼集训 2017 Day7」跳蚤王国的 ...

  8. java数组---特点,边界

    数组的四个基本特点 1.其长度是确定的.数组一旦被创建,它的大小就是不可以改变的. 2.其元素必须是相同类型,不允许出现混合类型. 3.数组中的元素可以是任何数据类型,包括基本类型和引用类型. 4.数 ...

  9. 【MySQL】从入门到精通6-MySQL数据类型与官方文档

    上期:[MySQL]从入门到精通5-一对多-外键 这个是官方文档链接,是世界上最全面的MySQL教学了,所有问题都可以在这里找到解决方法. https://dev.mysql.com/doc/ htt ...

  10. 第十一篇:vue.js监听属性(大作业进行时)

    这个知识点急着用所以就跳过<计算属性>先学了 首先理解一下什么是监听:对事件进行监控,也就是当我进行操作(按了按钮之类的事件)时,会有相应的事情发生 上代码 <div id = &q ...