首页 > 其他 > 详细

第六次实验

时间:2019-06-08 17:09:20      阅读:85      评论:0      收藏:0      [点我收藏+]

PART 1 结构体类型及编程应用

1-2

#include <stdio.h>
#include <string.h>
const int N = 10;

// 定义结构体类型struct student,并定义其别名为STU
typedef struct student {
long int id;
char name[20];
float objective; /*客观题得分*/
float subjective; /*操作题得分*/
float sum;
char level[10];
}STU;

// 函数声明
void input(STU s[], int n);
void output(STU s[], int n);
void process(STU s[], int n);

int main() {
STU stu[N];

printf("录入%d个考生信息: 准考证号,姓名,客观题得分(<=40),操作题得分(<=60)\n", N);
input(stu, N);

printf("\n对考生信息进行处理: 计算总分,确定等级\n");
process(stu, N);

printf("\n打印考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级\n");
output(stu, N);

return 0;
}

// 录入考生信息:准考证号,姓名,客观题得分,操作题得分
void input(STU s[], int n) {
// 补足代码
int i;
for(i=0;i<n;i++)
scanf("%ld %s %f %f", &s[i].id, s[i].name, &s[i].objective, &s[i].subjective);
}

//输出考生完整信息: 准考证号,姓名,客观题得分,操作题得分,总分,等级
void output(STU s[], int n) {
// 补足代码
int i;
for(i=0;i<n;i++)
printf("%ld %s %.2f %.2f %.2f %s\n",s[i].id, s[i].name, s[i].objective, s[i].subjective, s[i].sum, s[i].level);

}

// 对考生信息进行处理:计算总分,排序,确定等级
void process(STU s[], int n) {
// 补足代码
int i,j,k;
STU temp;
for(i=0;i<n;i++)

s[i].sum=0.4*s[i].objective+0.6*s[i].subjective;//得到总成绩
//开始排序从大到小
for(j=0;j<n-1;j++)
{
for(k=0;k<n-j-1;k++)
{
if(s[k].sum<s[k+1].sum)
{
temp=s[k];
s[k]=s[k+1];
s[k+1]=temp;
}
}
}
//以上排序完成,开始定义等级 level
i=0;
for(i=0;i<n;i++)
{
if(i==0)
strcpy(s[i].level,"优秀");
else if(i>=1&&i<=4)
strcpy(s[i].level,"合格");
else if(i>=5&&i<=9)
strcpy(s[i].level,"不合格");
}
}

 

结果截图:

技术分享图片

采坑:这道题我做了好半天,一开始输出结果各项成绩都是0;我也忘记我怎么东修修西改改的了,试了半天,终于开始显示正确数字了。后来总成绩和等级老是输不出来,我检查了我后面等级判定的步骤,觉得没问题啊,如果再出错肯定是output出错了,果不其然我回去一看,我只让输了学号姓名成绩,总成绩和等级没有写上去,可能是输出这个函数写在等级判定之前,所以我压根没留意要把后面函数算出来的值也输进去。


 


PART 2

共用体结构体类型的区别:

共用体是结构数据类型,它使几个不同类型的变量共占一段内存(相互覆盖),每次只有一个能使用;

结构体中每个成员都有存储空间,可以一起使用

 


 


PART 3

枚举类型适合描述哪一类数据:

在C语言等计算机编程语言中是一种构造数据类型 。它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。枚举可以根据Integer、Long、Short或Byte中的任意一种数据类型来创建一种新型变量。这种变量能设置为已经定义的一组之中的一个,有效地防止用户提供无效值。

可以直接输入输出

 

第六次实验

原文:https://www.cnblogs.com/zhaoyingshan/p/10991061.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!