文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计 实验报告7--结构体共用体

C语言程序设计 实验报告7--结构体共用体

C语言程序设计 实验报告7--结构体共用体
C语言程序设计 实验报告7--结构体共用体

C语言程序设计实验报告(实验大纲+过程)之欧阳家百创编

《C程序设计》实验教学大纲 欧阳家百(2021.03.07) 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分: 4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解C 语言的特点,熟练掌握C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 五、实验项目与学时分配

注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。 2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每

C语言结构体实验报告

《高级语言程序设计》实验报告实验序号:8 实验项目名称:结构体

附源程序清单: 1. #include struct student { int num; char name[20]; char classname[20]; float score[3]; float aver_score; }stu[5]; void input() { int i; for(i=1;i<6;i++) { printf("第%d个同学",i); printf("请输入学号名字班级三门课程成绩:\n"); scanf("%d %s %s %f %f %f",&stu[i].num,stu[i].name,stu[i].classname,&stu[i].score[1],&stu [i].score[2],&stu[i].score[3]); } }; void averagescore() {

for(i=1;i<=5;i++) stu[i].aver_score=((stu[i].score[1]+stu[i].score[2]+stu[i].score[3])/3); printf("平均成绩:"); for(i=1;i<6;i++) printf("第%d个同学的平均成绩%f:\n",i,stu[i].aver_score); printf("\n"); }; void max() { int i,k=0; float temp=stu[1].aver_score; for(i=2;i<=5;i++) if(stu[i].aver_score>temp) {temp=stu[i] .aver_score;k=i;}; printf("成绩最好的同学:\n"); printf("%d %s %s %4.2f %4.2f %4.2f %4.2f\n", stu[k].num,stu[k].name,stu[k].classname,stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].aver _score); }; void main() { input(); averagescore(); max(); } 2.#include struct worker { char name[20]; int workyear; float salary; }work[5]; void input() { int i; for(i=1;i<=5;i++) { printf("第%d个工人:",i); printf("请输入名字工作年限工资总额:\n"); scanf("%s %d %f",&work[i].name,&work[i].workyear,&work[i].salary);

C语言实验八结构体上机报告

《标准C语言程序设计》上机报告实验八结构体程序设计 专业:电子信息工程 班级:电信1301 学号:U201313480 姓名:秦行 完成日期:2014/6/9

一、实验目的: 1、掌握结构体类型的说明和结构体变量的定义; 2、掌握结构体变量成员的引用和对结构体变量的初始化; 3、掌握结构体数组及结构体指针变量的定义及使用。 4、理解并掌握结构体在函数间的传递; 5、进一步掌握复杂程序编译、连接和调试的技巧。 二、实验内容及要求(鼓励一题多解) ——以下均要求不得使用全局变量: 1 (1)、正确定义该表格内容要求的数据类型; (2)、分别输入各成员项数据,并打印输出(为简便起见,假设只有3名考生)。#include #include #define N 3 struct date { int year; int month; int day; }; struct student { unsigned int num; char name[20]; char sex; struct date birth; }; void main()

{ struct student tester[N]; int i; for(i=0;i #include #include #define N 10 struct worker { char name[20]; int salary; };

C语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

C语言实验报告

实验一进制转换一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。

五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制 的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n");

} else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c;

C语言结构体和共用体实验报告

实验九参考程序 实验 9- 1 /**************************************************************** * 实验 9.1 * * ( 1 )为某商店的商品设计合适的结构体 (PRODUCT) 。每一种商品包含编号 (number) 、 * 名称 (name) 、价格 (price) 、折扣 (discount)4 项信息,根据表 9-1 ,为这些信 息选择合适的数据类型。 * (2)建立 2个函数,以实现对商品的操作。 input 函数实现商品的输入; * display 函数显示商品信息。要求这 2个函数都以商品的结构体 (PRODUCT) 指针为 参数。 * (3 )在主函数中为商品键盘定义一个结构体变量 (keyboard) ,利用 input 函数实现键 盘信息的输入; * 定义一个结构体数组 (elec_device[3]) ,利用 input 函数实现冰箱、 空调、电视 信息的输入; * 最后利用 display 函数显示 4 种商品的信息。 * * 表 9-1 #include typedef struct _PRODUCT int iNumber; char strName[32]; float fPrice; float fDiscount; * 编号 名称 价格 折扣 *1010 键盘 89.50 0.85 *1021 冰箱 1024.00 0.95 *1022 空调 2058.50 0.90 *1023 电视 3001.88 0.95 *************************************************************** */

c语言实验报告

C语言程序设计报告 日期:2222年11月2日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break;

} else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m) { int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。:程序如下:

C语言程序的设计实验报告课程设计

中南大学 二○一三~二○一四学年第一学期 信息科学与工程学院程序设计基础实践 设计报告 课程名称:程序设计基础实践 班级: 学号: 姓名: 指导教师: 二○一三年十二月

目录 一、需求分析 (3) 二、总体设计 (4) 1.设计环境 (4) 2.基本要求 (4) 3.设计步骤 (4) 三、详细设计 (5) 1.算法分析 (5) 2.设计流程图 (5) 3.我的任务 (5) 四、调试与测试 (8) 五、本次课程设计的心得体会 (12) 六、附录 (12)

一、需求分析 通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 课程设计的目的和要求: 1、使学生巩固和加强《C语言程序设计》课程的理论知识。 2、使学生掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、使学生掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程序设计的思想和方法;学会利用传统流程图或N-S 图表示算法。 5、使学生掌握调试程序的基本方法及上机操作方法。 6、掌握书写程序设计开发文档的能力,使学生学会撰写课程设计总结报告。课程设计的思想和方法还可以作为学生做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。为学生做毕业设计打好基础。 8、初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需要。通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。 9、培养学生的创新能力和创新思维。学生可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 10、培养学生良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。学生在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 11、课程设计题目及内容 员工通讯管理系统: 通讯录信息为:姓名、地址、单位、固定电话、移动手机、分类(包括同事、朋友、同学、家人等)、EMAIL、QQ等。 1.通讯录的增加; 2.通讯录的修改、删除; 3.按姓名、电话、QQ查询; 4.通讯录的排序; 5.分类统计; 6.通讯录输出。

C语言实验报告

实验一进制转换 一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。 五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n"); } else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c; char cIn = 0; do { printf("\n输入正整数,转换的进制:"); scanf("%d %d",&a,&c); fun(a,c); printf("Go on? (Y/N):"); cIn = getchar( ); if(cIn == 'N' || cIn == 'n') return 0; } while(1);fun(a,c);

C语言实验报告之指针、结构体等综合程序设计

一、实验的目的、要求及内容 1、通过实验掌握指针的概念,学会定义和使用指针变量。 2、能正确使用数组的指针和指向数组的指针变量。 3、能正确使用字符串指针和指向字符串的指针变量。 4、掌握结构体类型变量的定义和使用。 二、算法设计思想及内容 本实验主要完成指针和结构体的应用训练,总共要求完成三个问题的源代码的编辑、编译、连接与运行,最终产生相关的运行结果,按规定要求提交相应的实验报告。具体要求完成的问题如下: 1、采用指针方式编写程序输入10个整数,将其中最小的数与第一个数对换,把最 大的数与最后一个数对换。写3个函数:(1)输入10个数;(2)进行处理;(3) 输出处理后的10个数。 2、采用指针方式在主函数中输入字符串,在函数中求出字符串的长度,然后输出求 出的长度。 3、有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个 学生的数据,要求输出3门课程的总平均成绩,以及最高分数的学生的数据(包 括学号、姓名、3门课的成绩、平均分)。 三、所使用的软硬件平台 软件平台:Microsoft Windows XP专业版SP3,Microsoft Visual C++ 6.0。 硬件平台:联想系列,Intel(R)Core(TM)i3,CPU 3.20Ghz,2.99GB内存,550GB硬盘。 四、源程序代码 1.#include int main() {int a[10]; void shuru(int a[10]); void chuli(int a[10]); void shuchu(int a[10]); printf("请输入10个数:"); shuru(a); chuli(a); printf("输出处理后的10个数为:"); shuchu(a); printf("\n"); return 0; }

C语言程序设计 实验报告7--结构体共用体

福建农林大学金山学院实验报告 系(教研室):专业:年级:2014 实验课程:姓名:学号:实验室号: 计算机号:实验时间:指导教师签字:成绩: 实验7:结构体和共用体 一、实验目的和要求 1.掌握结构体类型变量的定义和使用 2.掌握结构体类型数组的概念和应用 3.掌握共用体的概念与使用 二、实验内容和原理 1. 编写一个函数print,输出一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num、name、score[3],用主函数输入这些记录,用print函数输出这些记录。 2. 设有若干个人员的数据,其中有学生和老师。学生数据包括:姓名、号码、性别、职业、班级。教师的数据包括:姓名、号码、性别、职业、职务。现要求把它们放在同一表格中,见图1。如果job项是t (教师),则第5项为position(职务)。如果job项是s,则第5项为class(班级)。要求输入人员的数据, 图1 3.有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生数据,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。 4. 对候选人得票的统计程序。设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。设有10人投票。 三、实验环境 1. 硬件:PC机; 2. 软件:Windows操作系统、Visual C++ 6.0 。 四、算法描述及实验步骤 1、先定义N为5即有五个学生,建立结构体struct student,再定义字符型数组num和name、整型数组score。对print进行函数声明且定义i、j。再用for语句进行循环输出相应的num、Name、score。 2、先声明结构体struct,再定义int num;char name[10];char sex;char job;和共用体int banji;/char position[10];和结构体数总共2个;定义整型i,用for语句循环,以此先得到num,.name,sex,job,再用if 语句的嵌套对于job字符的不同判断共用体需要放什么。最后用for语句循环和if语句来输出结果。

C语言程序设计实验报告(结构体和共用体)

C语言程序设计实验报告 (结构体和共用体) 1实验目的 1、掌握结构体类型变量的定义和使用; 2、掌握结构体类型变量数组的概念和使用; 3、掌握链表的概念,初步学会对链表进行操作; 4、掌握共用体的概念和使用。 2实验内容 1)在一个结构体数组中存入三个人的姓名及年龄,输出三者中年龄居中者的姓名及年龄。 要求: 1、三个人的数据采用直接初始化的方式赋值; 2、利用结构体指针实现处理过程。 3算法描述流程图

4源程序 #include main() { struct students { char name[10]; int age; } stu[3]={{"Jack",17},{"Anne",16},{"Tom",19}},stu1[3]; struct students *stu2=&stu[0],*t=&stu1[0];int i,j,k; for(i=0;i<2;i++) { k=i; for(j=i+1;j<3;j++) { if(((stu2+j)->age)<((stu2+k)->age)) k=j; } *t=*(stu2+k); *(stu2+k)=*(stu2+i); *(stu2+i)=*t; } printf("三人中年龄居中者姓名:%s,年龄:%d\n",stu[1].name,stu[1].age); } 5测试数据 {"Jack",17},{"Anne",16},{"Tom",19} 6运行结果

7出现问题及解决方法; 实验中,引用结构体数组出现错误,忘记写{},指针的初始化忘记写*,这些问题都是些低级错误,不应该犯的,在循环中,i的初始化错误。以后应更加仔细,多注意细节问题,很多时候细节是决定事情的关键。 8实验心得 在本次试验中,我通过学习和实践,对结构体类型变量的定义和使用以及链表的概念有了更清楚的理解,初步学会了对链表进行操作,掌握了结构体类型变量数组以及共用体的使用。

C语言实验报告九

数学与软件科学学院实验报告 学期:_2013_至_2014_ 第1 学期 2013_年12_月09_日 课程名称: 程序设计基础教程-C语言_ 专业:_数学与应用数学_2012_级_1班实验编号: 09实验项目:结构体和共用__ 指导教师__ ____ 姓名:学号:实验成绩: 一、实验目的及要求 (1) 掌握C语言环境下结构体和共用体类型变量的定义和使用方法; (2) 掌握结构体类型数组的概念和使用; (3) 掌握指向结构体变量的指针变量、尤其是链表概念; 二、实验内容 1.首先熟悉结构体类型变量的基本声明方法、结构体类型变量的内存分配原则、初始化和引用结构体变量及其成员变量的基本方法;然后掌握结构体变量的输入、输出方法。(参见教材例10-1~10-5) 2.基于结构体数组的应用实验。 (1) 有n个学生,每个学生的数据包括学好(num)、姓名(name[20])、性别(sex)、年龄(age),以及三门课程的成绩(score[3])。要求:在main()函数中输入这些学生的这些数据,然后设计一个函数count()来计算每个学生的总分和平均分,最后,打印出所有数据信息(包含原来输入的学生原始数据信息和求解出来的新信息)。 (2)对第(1)题实验,求出其中成绩最好的人和成绩最差的人,并显示出来。(假定成绩最好和最差的人都只有一个) (3)*如果假定成绩最好和最差的人的个数不一定唯一,程序应该如何修改才能完成求出所有最好和最差者,以及输出它们来。 3.*链表实验。 (1) 建立一个链表,每个结点包含:职工号、工资。用malloc()函数开辟新结点,用free()函数回收不用的结点空间。要求从键盘输入5个员工的数据信息(用create_list()),然后,用函数output_list()将它们一一打印出来,用free_list()将链表中的结点空间回收。假设职工编号为1001,1005,1008,1010,1101。 注:malloc()和free()为系统函数。create_list(),output_list(),free_list()为用户自定义函数。 (2)在(1)的基础上,新增一个函数inset_node()插入员工1006和1032的数据信息。要求新插入的员工后,员工仍然按职工号顺序排列。 (3) 在(2)的基础上,新增一个函数delete_node(),可以用来将指定员工的数据从链表中删除。

C语言程序设计实验报告 结构体程序设计1.doc

实验报告 课程C语言程序设计实验项目结构体程序设计成绩 专业班级通信工程班内序号指导教师张静 姓名学号实验日期2010-5-2 0 实验目的: (1)掌握结构体定义 (2)掌握结构体成员访问 实验内容: 【实验8-1】编写一个程序,处理5个学生关于某门课的信息,每个学生的信息包括:学号、姓名、成绩。要求从键盘输入学生的数据,并输出成绩最高同学的相关信息和成绩最低同学的相关信息。 (1)程序代码 #include struct student { int no; char name[30]; int grade; }stu[5]; void main() { int i,max,min; int a,b; for(i=0;i<=4;i++) { printf("请输入学号:"); scanf("%d",&stu[i].no); printf("请输入名字:"); scanf("%s",stu[i].name); printf("请输入成绩:"); scanf("%d",&stu[i].grade); } max=stu[0].grade; min=stu[0].grade; a=0; b=0; for(i=0;i<=4;i++)

{ if(maxstu[i].grade) { min=stu[i].grade; b=i; } } printf("%d,%s,%d\n",stu[a].no,stu[a].name,stu[a].grade); printf("%d,%s,%d",stu[b].no,stu[b].name,stu[b].grade); } (2)运行结果 实验小结: 通过本次实验了解了结构体,也初步掌握了它的用法。

二级C语言14上机(结构体)

#include #define N 16 typedef struct { char num[10]; int s; } STREC; int fun( STREC *a,STREC *b,int l, int h ) { } main() { STREC s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85}, {"GA001",96},{"GA007",72},{"GA008",64},{"GA006",87},

{"GA015",85},{"GA013",94},{"GA012",64},{"GA014",91}, {"GA011",90},{"GA017",64},{"GA018",64},{"GA016",72}}; STREC h[N],tt;FILE *out ; int i,j,n,low,heigh,t; printf("Enter 2 integer number low & heigh : "); scanf("%d%d", &low,&heigh); if ( heigh< low ){ t=heigh;heigh=low;low=t; } n=fun( s,h,low,heigh ); printf("The student's data between %d--%d :\n",low,heigh); for(i=0;ih[j].s) {tt=h[i] ;h[i]=h[j]; h[j]=tt;} for(i=0;i

C语言程序设计—结构体—实验报告

实验报告 专业软件工程班级X 班学号_ XXXXXXXXX_ 姓名 实验日期:201X年X月X日报告退发(订正、重做) 课程C程序设计实验实验名称结构体 一、实验目的 二、实验环境(描述实验的软件、硬件环境) ①软件环境:windows xp/win7等操作系统,Microsoft Visual C++ 6.0编译器; ②硬件环境:PC机一台 三、实验内容、步骤和结果分析 题目一: #include #include struct Stu { int num; char name[20]; char sex; int age; float score[3]; }; void fun(struct Stu *stu, int i) { float sum = stu->score[0] + stu->score[1] + stu->score[2], aeg = sum / 3.0; printf("\n第%d位学生的基本信息如下:\n\n", i); printf("学号:(%d)\t姓名:(%s)\t性别:(%c)\t年龄:(%d)\n\n", stu->num, stu->name, stu->sex, stu->age); printf("三科成绩:(%.2f,%.2f,%.2f)\n\n", stu->score[0], stu->score[1], stu->score[2]); printf("总成绩:(%.2f) 平均成绩:(%.2f)\n", sum, aeg); printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); } int main() { int i, n;

《C语言程序设计》实验报告

《C语言程序设计》 实验报告 学院:电气信息学院 专业: 学号: 姓名: 成绩: 课程代码: 2001301 指导教师:葛令志 实验中心:电气信息专业试验中心 日期:

目录 实验总体要求 实验一………………………………………………C语言的运行环境和运行过程实验二………………………………………………数据类型、运算符与表达式 实验三………………………………………………程序结构(顺序、选择和循环) 实验四………………………………………………数组 实验五………………………………………………函数 实验六………………………………………………指针 实验七………………………………………………结构体 实验八………………………………………………类和对象

实验总体要求 C语言程序设计课程是一门实践性很强的课程,为了培养学生的计算机应用能力,除了课堂理论教学外,必须加强程序设计课程实验的教学环节。 1、课程实验教学目的 通过C语言程序设计的课程实验教学,学生应具有使用计算机解决相关问题的能力,同时为学生今后学习其他计算机应用课程打下良好的程序设计基础。 ⑴分析问题和解决问题能力的训练 课程实验教学将课本上的理论知识和实际应用有机地结合起来,达到训练学生分析问题解决实际问题的能力,提高学生应用计算机知识开发应用系统的综合能力。 ⑵逻辑思维能力的训练 通过课程实验教学,使学生正确地掌握C语言的基本知识,较好掌握基本的程序算法,以及描述方法。培养学生在程序设计解题思路、算法的描述、编程构思等方面的计算机逻辑思维能力。 ⑶程序设计技能的训练 通过C语言环境下的应用实例,训练学生编写程序的能力,掌握编程的思路和方法,掌握结构化程序设计的基本概念和基本技能。 通过课程实验教学,使学生掌握C程序设计语言的语法规则,数据结构的应用,掌握算法描述及相应代码描述,掌握结构化程序设计的基本方法,能熟练编写一般的应用程序。 2、课程实验教学要求 ⑴要求通过解题、程序设计和上机实践,加深对所学概念的理解,提倡理论与实践相结合的学习方法。 ⑵要求学生认真进行解题分析,掌握算法描述方法,掌握编程基本技能。通过布置一定数量程序设计题目,帮助学生逐步熟悉编写程序的方法,提高程序设计能力。 ⑶要求学生在课程实验中,努力培养发现程序错误、纠正程序错误的能力,独立完成每一次课程实验,提高编程的效率和成功率。 ⑷要求学生在完成课程实验规定的任务外,利用课余的时间多编程,多上机实践。反对抄袭或拷贝他人的源程序。 ⑸要求学生培养科学、严谨的学习作风,认真写好实验报告。学生在上机实践前,应事先编写好相应的源程序,准备好有关的调试数据,了解上机操作的步骤和过程,较好地完成每一次上机实验课。为了使学生能真正做到每一次课程实验有收获,做完一个实验后,要求学生必须写成完整的实验报告。 ⑸实验报告模板(如下)要求手工填写,程序代码、及运行结果用附页(见本文件最后一页),打印、手写均可,程序应包含较清楚的注释,装订时附页附在每次实验报告之后。报告所有文本、程序代码,均要求独立完成,严禁抄袭。

数据结构实验报告-c语言结构体与指针

《数据结构:C语言结构体与指针》 实验报告 学生姓名 学生班级 学生学号 指导老师

实验内容: 1) 学生信息的显示,具体要求如下: 定义一个结构体描述学生信息(学号,姓名,性别,年龄, 住址); 设计一个函数,用于显示单个学生信息,函数的参数为前 面定义的结构体类型; 设计一个主函数,在主函数中输入学生的信息,并调用前 面定义的函数进行显示(学生人数不少于5人)。 2) 输入若干个整数作为数组元素值,然后按输入时顺序的就 地逆置排序,最后打印出逆置后的元素值。要求用指针和动态 内存分配方法实现。例如输入:10 2 30 4 5,逆置后显示为: 5 4 30 2 10。 一、需求分析 通过结构体和for()来实现学生数据的输入输出,即学号,名字,年龄和性别,并对相关选项判别。 二、概要设计 本系统通过菜单选项方式,让用户通过选择及简单的输入实现对学生成绩、学生信息的管理。每个版块有对应的功能, 在学生信息管理中可以实现对学生各个信息的录入、查询、修 改、删除等功能,在学生信息管理中可实现对学生姓名、学号、年龄、地址进行查询、修改、删除等。一共有5个学生的信息,进行查询类时,可以分为两种,一种是全部查询,另一种是查

询输入的学号的学生的信息。 三、详细设计 源代码:#include #define N 20 #define A 30 typedef struct student{ long number; char name[N]; char sex; int age; char adress[A]; }STU; void xianshi(STU stu[]){ int j; for(j=0;j<5;j++){ printf("第%d个学生信息:\n",j+1); printf("学号%1d",stu[j].number); printf("姓名%s",stu[j].name); printf("性别%c",stu[j].sex); printf("年龄%d",stu[j].age); printf("地址%s\n",stu[j].adress); }

相关文档
相关文档 最新文档