实验六
时间:2019-06-10
本文章向大家介绍实验六,主要包括实验六使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
part 1
ex1_2源代码:
1 #include <stdio.h> 2 const int N=5; 3 4 // 定义结构体类型struct student,并定义STU为其别名 5 typedef struct student { 6 long no; 7 char name[20]; 8 int score; 9 }STU; 10 11 // 函数声明 12 void input(STU s[], int n); 13 int findMinlist(STU s[], STU t[], int n); 14 void output(STU s[], int n); 15 16 int main() { 17 STU stu[N], minlist[N]; 18 int count; 19 20 printf("录入%d个学生信息\n", N); 21 input(stu, N); 22 23 printf("\n统计最低分人数和学生信息...\n"); 24 count = findMinlist(stu, minlist, N); 25 26 printf("\n一共有%d个最低分,信息如下:\n", count); 27 output(minlist, count); 28 29 return 0; 30 } 31 32 // 输入n个学生信息,存放在结构体数组s中 33 void input(STU s[], int n) { 34 int i; 35 for(i=0; i<n; i++) 36 scanf("%ld %s %d", &s[i].no, s[i].name, &s[i].score); 37 } 38 39 // 输出结构体s中n个元素信息 40 void output(STU s[], int n) { 41 int i; 42 for(i=0; i<n; i++) 43 printf("%ld %s %d\n", s[i].no, s[i].name, s[i].score); 44 } 45 46 // 在结构体数组s中,查找最低分学生的记录,将其存入结构体数组s中 47 // 形参n是结构体数组s中元素个数 48 // 函数返回最低分的学生人数 49 int findMinlist(STU s[], STU t[], int n) { 50 int i,j=0,min; 51 for(i=0;i<n;i++) 52 if(s[i].score<s[i+1].score) 53 min=s[i].score; 54 55 for(i=0;i<n;i++) 56 { 57 if(s[i].score==min) 58 t[j++]=s[i]; 59 } 60 return j; 61 }
运行结果:
ex1_3源代码:
1 #include <stdio.h> 2 #include <string.h> 3 const int N = 10; 4 5 // 定义结构体类型struct student,并定义其别名为STU 6 typedef struct student { 7 long int id; 8 char name[20]; 9 float objective; /*客观题得分*/ 10 float subjective; /*操作题得分*/ 11 float sum; 12 char level[10]; 13 }STU; 14 15 // 函数声明 16 void input(STU s[], int n); 17 void output(STU s[], int n); 18 void process(STU s[], int n); 19 20 int main() { 21 STU stu[N]; 22 23 printf("录入%d个考生信息: 准考证号,姓名,客观题得分(<=40),操作题得分(<=60)\n", N); 24 input(stu, N); 25 26 printf("\n对考生信息进行处理: 计算总分,确定等级\n"); 27 process(stu, N); 28 29 printf("\n打印考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级\n"); 30 output(stu, N); 31 32 return 0; 33 } 34 35 // 录入考生信息:准考证号,姓名,客观题得分,操作题得分 36 void input(STU s[], int n) { 37 int i; 38 for(i=0;i<n;i++) 39 scanf("%ld %s %f %f",&s[i].id,s[i].name,&s[i].objective,&s[i].subjective); 40 } 41 42 //输出考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级 43 void output(STU s[], int n) { 44 int i; 45 for (i=0;i<n;i++) 46 { 47 printf("%ld %s %5f %5f %5f %s\n",s[i].id,s[i].name,s[i].objective,s[i].subjective,s[i].sum,s[i].level); 48 } 49 } 50 51 // 对考生信息进行处理:计算总分,排序,确定等级 52 void process(STU s[], int n) { 53 int i,j; 54 STU temp; 55 for(i=0;i<n;i++) 56 s[i].sum=s[i].objective+s[i].subjective; 57 58 for(i=1;i<=n-1;i++) 59 { 60 for(j=1;j<=n-i;j++) 61 { 62 if(s[j-1].sum<s[j].sum) 63 { 64 temp=s[j-1]; 65 s[j-1]=s[j]; 66 s[j]=temp; 67 } 68 } 69 } 70 for(i=0;i<n;i++){ 71 if(i==0) 72 strcpy(s[i].level,"优秀"); 73 else if(i>=1&&i<=4) 74 strcpy(s[i].level,"及格"); 75 else 76 strcpy(s[i].level,"不及格"); 77 } 78 }
运行结果:
这一部分里犯的错误主要是
part 2
共用体与结构体的区别:共用体的特点是几个不同类型的变量共占一段内存,而结构体内的数据在内存中是连续存放的。
part 3
枚举类型用于描述取值有限的数据,不能直接输入或输出,枚举类型可以隐含转换为整型,但整型转换为枚举类型,必须显式转换。
原文地址:https://www.cnblogs.com/ningchenyang/p/11000981.html
- 教你如何去掉友荐和无觅的隐藏外链和版权链接
- 重置多说配置后的问题,这是不让我从良的节奏啊(附禁用谷歌在线字体的方法)!
- 10个超有趣的Linux命令
- 张戈博客惊现WordPress恶意代码,各位WP博主要注意下了!
- 分享一个多说头像的动态酷炫CSS样式
- 在Linux中发现IP地址冲突的方法
- 教你如何查看Linux的CPU负载
- 想打造一个神经网络,自动给黑白照片上色?这儿有一份超详细教程
- WP_Widget_PostViews has a deprecated constructor 报错解决
- 详解Linux系统的CPU负载均值
- Linux服务器的进程查看命令详解
- 另类SEO分享:利用JS封装iframe躲过搜索引擎的抓取
- Linux :MAC 地址克隆方法
- 解决WordPress修改数据库表前缀后无法登陆的问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MySQL binlog_error_action分析
- docker(数据卷容器)
- Python炫技操作:模块重载的五种方法
- 一文搞定 Eureka 集群高可用配置
- SpringBoot三招组合拳,手把手教你打出优雅的后端接口
- 在bootstrap中col-md-offset-* 偏移不起作用
- ES6 模糊查询 智能联想(不区分大小写)
- 干货分享 | K8s 、Docker 常用命令汇总
- 干货 | YOLOV5 训练自动驾驶数据集,并转Tensorrt,收藏!
- Vue中watch的简单应用
- Go 使用标准库 net/rpc 包
- 强大的 Stream API(三)
- 微软发布代码智能新基准数据集CodeXGLUE,多角度衡量模型优劣
- 强大的 Stream API(二)
- 无限想象空间,用Python玩转3D人体姿态估计