实验报告结构体.docVIP

  • 141
  • 0
  • 约7.93千字
  • 约 13页
  • 2015-09-26 发布于重庆
  • 举报
实验报告结构体

实验报告 第 1 页 专业__软件工程 __ 班级 软工1班 学号_1230120130xx _ 姓名 xx 实验日期:2013年11 月1 日 报告退发 (订正 、 重做) 课程 c语言实验设计 实验名称 结构体 一、实验目的 (1)掌握一维数组的基本操作; (2)掌握二维数组的基本操作; 二、实验环境(描述实验的软件、硬件环境) 安装有Microsoft VC++6.0的PC机 三、实验内容、步骤和结果分析 (列出实验内容,阐明实验步骤及中间的结果或现象、最终结果和现象,对这些结果和现象进行分析,若出现误差也予以分析误差原因) 题目一、有n个学生,每个学生的数据包括学号(num)、姓名(name)、性别(sex)、年龄(age)、三门课的成绩(score[3])。 要求从键盘上输入这n个学生的数据,然后调用一个函数来计算每个学生的总分和平均分然后打印所有数据。 源码 #include stdafx.h #includestdio.h #includestring.h #includestdlib.h struct student { long int num; char name[20]; char sex; int age; float score[3]; }; float sum(struct student a) { float s=0; int i; for(i=0;i3;i++) s = s+ a.score[i]; return s; } float aver(struct student a) { return sum(a)/3; } int main() { int i,j,n; printf(请分配内存空间 n = ); scanf(%d,n); struct student *a=(struct student *)malloc(n*sizeof(student)); for(i=0;;i++) { printf(请输入第%d位学生的基本信息:(学号=0结束输入)\n,i +1); printf(学号:); scanf(%d,a[i].num); if(a[i].num==0) break; fflush(stdin); printf(姓名:); gets(a[i].name); printf(性别:); scanf(%c,a[i].sex); printf(年龄:); scanf(%d,a[i].age); printf(三科成绩:); scanf(%f%f%f,a[i].score[0],a[i].score[1],a[i].score [2]); printf(\n); } printf (===============================================================\n); for(j=0;ji;j++) { printf(学号:%d\t姓名%s\t性别%c\t年龄%d\n,a [j].num,a[j].name,a[j].sex,a[j].age); printf(三科成绩:%.2f, %.2f, %.2f\n,a[j].score[0],a [j].score[j],a[j].score[2]); printf(总成绩%.2f 平均成绩%.2f\n,aver(a[j]),sum(a [j])); printf (***************************************************************\n); } free(a); return 0; } 运行结果截图 题目二、分别定义公制METRIC(成员包括:米、厘米)和英制BRITISH(成员包括:英尺、英寸)两个结构体。为每一个结构定义两个变量,计算每一个结构体的两个变量所表示的长度之和(单位:厘米) 源码 #includestdio.h #includestdlib.h struct metric { float centimeter; float meter; }; struct british { float inch; float in

文档评论(0)

1亿VIP精品文档

相关文档