C语言程序设计综合实习报告

合集下载

C语言程序设计实训报告

C语言程序设计实训报告

C语言程序设计实训报告一、实训背景介绍本次实训是为了提高学生的C语言编程能力,培养学生解决实际问题的能力,加强学生的动手能力和团队合作能力。

实训内容主要包括C语言的基础知识和常用库函数的使用,以及通过编写实际的小项目来巩固所学知识。

二、实训过程及成果1.实训过程本次实训总共经历了三个阶段:知识学习、编程实践和项目开发。

(1)知识学习阶段:在这个阶段,我们通过教材和课堂上的讲解学习了C语言的基本语法、数据类型、运算符、流程控制语句等基础知识,并学习了常用库函数的使用。

(2)编程实践阶段:在这个阶段,我们通过一系列的编程练习来巩固所学知识。

通过编写简单的程序,我们学会了如何使用C语言的基本语法和常用库函数来解决实际问题。

(3)项目开发阶段:在这个阶段,我们分小组进行项目开发。

每个小组由3-5名学生组成,负责编写一个小型的C语言项目。

项目的内容可以是游戏、学生管理系统、图书管理系统等等。

我们需要在规定的时间内完成项目的需求分析、设计、编码和测试工作,并提交最终的项目成果。

2.实训成果通过本次实训,我掌握了C语言的基本语法和常用库函数的使用,并且通过实际的编程练习和项目开发锻炼了自己的编程能力和解决实际问题的能力。

在项目开发的过程中,我学会了如何进行需求分析和设计,并能够合理地组织代码结构和调试程序。

三、实训心得体会通过这次实训,我深刻地认识到了编程是一项需要耐心和毅力的工作。

在编写代码的过程中,经常会遇到各种各样的问题,需要不断地调试和修改。

同时,编程还需要良好的团队合作能力,只有团队成员之间的密切配合和良好的沟通,才能顺利地完成项目。

通过这次实训,我不仅提高了自己的编程能力,还锻炼了自己的动手能力和团队合作能力。

在以后的学习和工作中,这些经验和能力无疑会给我带来很大的帮助。

我相信,只要持之以恒地继续努力,我一定能够在C语言编程方面有所突破。

四、总结与展望通过这次实训,我对C语言的掌握更加深入,掌握了一些常用的编程技巧和方法。

C语言见习报告6篇

C语言见习报告6篇

C语⾔见习报告6篇C语⾔是⼀种计算机程序设计语⾔,属⾼级语⾔范畴。

它既具有⾼级语⾔的特点,⼜具有汇编语⾔的特点。

通过见习做⼀报告,本⽂是C语⾔见习的报告,仅供参考。

C语⾔见习报告⼀:班级:姓名:实验名称:电话订餐信息处理实验⽬的:题⽬要求:⼀个⼩饭馆的⽣意⾮常红⽕,要想⽤餐必须提前⼀天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?⾸先,需要准备⼀张⼤⼩适当的⽩纸,等待顾客的电话。

李红最先打进了电话,她预约第2天中午12点⽤餐,⽤餐⼈数5⼈,服务员在纸上做了如下记录:“李红 12点 5⼈”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是:李红 12点 5⼈刘娜 11点 2⼈汪涵 11点20分 3⼈孙杰 10点30分 5⼈赵君 13点20分 6⼈孙杰随后⼜来电话,将⽤餐时间推后⼀个⼩时,那么记录的内容也应该做相应的修改。

刘娜来⽤餐以后,可以将其信息从纸上划去编写程序处理电话订餐的情况实验步骤:⾸先建⽴结构体类型,然后函数声明,编写主函数,定义函数,调⽤函数。

完成后,对程序进⾏调试,确定所编写的程序是否能够运⾏。

实验内容:#include#include#define max 30struct guest{ intnum;char name[40];char time[20];int sum;}guestlink[max];void insert(int _p);void inquire(int);void change(int);void dele(int _p);void show(int);void main(){ inti;int count=0;do{0printf("1.......插⼊\n");printf("2.......查询\n");printf("3.......修改\n");printf("4.......删除\n");printf("5.......显⽰\n");printf("6.......退出\n");scanf("%d",&i);switch(i){case 1: insert(&count);break; case 2: inquire(count);break; case 3: change(count);break; case 4: dele(&count);break; case 5: show(count);break; case 6:break;default:printf("输⼊错误!");break; }}while(i!=6);}void insert(int _p){ inti,number;if(_p==max){ printf("⽤餐已满\n");return;} printf("请输⼊编号:");scanf("%d",&number);for(i=0;i<_p;i++)if(guestlink[i].num==number) { printf("已有相同的编号");return;} guestlink[i].num=number;printf("请输⼊姓名:");scanf("%s",guestlink[i].name); printf("请输⼊⼈数:");scanf("%d",&guestlink[i].sum); printf("请输⼊⽤餐时间:");scanf("%s",guestlink[i].time); (_p)++;}void inquire(int p){ inti,number,flag=1;printf("请输⼊要查询的编号");scanf("%d",&number);for(i=0;iif(guestlink[i].num==number){ printf("姓名:%s",guestlink[i].name);printf("⽤餐时间:%s",guestlink[i].time);printf("⼈数:%d\n",guestlink[i].sum);flag=0;}if(i>=p&&flag==1) printf("所查询的编号不存在"); }void change(int p){ inti,number,flag=1;printf("请输⼊要修改的编号");scanf("%d",&number);for(i=0;iif(guestlink[i].num==number){ printf("请输⼊姓名:");scanf("%s",guestlink[i].name);printf("请输⼊⽤餐时间:");scanf("%s",guestlink[i].time);printf("请输⼊⼈数:");scanf("%d",&guestlink[i].sum);flag=0;}if(i>=p&&flag==1) printf("所查询的编号不存在"); }void dele(int _p){ inti,j,number,flag=1;printf("请输⼊要删除的编号");scanf("%d",&number);for(i=0;i<_p&&flag;i++)if(guestlink[i].num==number){for(j=i;j<_p-1;j++)guestlink[j]=guestlink[j+1];flag=0;(_p)--;}if(i>=_p&&flag==1) printf("输⼊的编号不存在");}void show(int p){ inti;printf("编号姓名⽤餐时间⼈数\n ");for(i=0;i{ printf("%d",guestlink[i].num);printf("%8s",guestlink[i].name);printf("%8s",guestlink[i].time);printf("%8d\n",guestlink[i].sum);}}实验结果:实验体会:通过这次实践让我觉得⽤C语⾔在⽣活中的应⽤占有很⼤的⽐重,这次编程,让我体会到了学习C语⾔的乐趣,以及运⽤c语⾔给⼈们带来的⽅便。

c语言实验报告5篇

c语言实验报告5篇

c语言实验报告c语言实验报告5篇随着社会一步步向前发展,我们使用报告的情况越来越多,我们在写报告的时候要注意涵盖报告的基本要素。

其实写报告并没有想象中那么难,以下是小编收集整理的c语言实验报告,欢迎阅读与收藏。

c语言实验报告1学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六综合实验一、实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。

2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。

3、掌握C程序的运行、调试方法等。

二、实验内容编写一个学生信息排序程序。

要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。

2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。

3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。

1、使用函数方法定义各个模块。

三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录c语言实验报告2第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。

(]1.2 实验要求在报告中记录建立、保存C程序实习过程。

1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main(){printf (“Hello World! ”);}2)链接。

执行Build-命令。

3)运行。

执行Build Execute 命令。

显示结果。

4)关闭程序工作区。

(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。

C语言程序的设计实训报告

C语言程序的设计实训报告

C语言程序的设计实训报告1.引言C语言是一种高级程序设计语言,广泛应用于软件开发、系统编程、嵌入式系统等领域。

C语言程序设计实训是培养学生编写高效、可靠、可维护的程序的重要环节。

本报告将介绍我在C语言程序设计实训中的学习和实践经历。

2.实训内容和目标本次实训我学习并实践了C语言的基本概念、语法和基本操作。

实训目标是通过编写多种类型的程序,培养我对C语言的理解和掌握,提高我编程的能力和技巧。

3.实训过程3.1学习基本语法和数据类型在实训开始前,我通过阅读教材和参考资料学习了C语言的基本语法和数据类型,包括变量、常量、运算符、条件语句、循环语句等。

我通过练习编写简单的程序加深对这些概念的理解。

3.2编写实验程序在实训过程中,我编写了一系列的实验程序,包括计算两个整数的和、求解一元二次方程的根、猜数字游戏等。

这些程序练习了我对基本语法和数据类型的应用,提高了我的编程能力。

3.3团队合作项目在实训的最后,我们组成了一个团队,共同完成了一个较复杂的项目。

我们选择将一个文本文件中的单词按照字母顺序排序并输出到另一个文件中。

在项目中,我负责编写读取文件的代码和排序算法的实现。

通过与团队成员的合作,我学会了如何与他人协作,提高了我的团队合作能力。

4.实训收获通过这次实训,我收获了很多。

首先,我对C语言的掌握更加深入,理解了它的基本语法和数据类型的应用。

同时,我也学会了如何利用C语言编写高效、可维护的程序。

此外,通过团队合作项目,我提高了我的团队协作能力和沟通能力。

5.实训总结C语言程序设计实训是我学习C语言的重要环节。

通过掌握C语言的基本概念和语法,我能够编写简单的程序并逐渐提高自己的编程能力。

通过合作项目,我也学会了与他人合作和沟通。

这次实训对我的学习和成长有着积极的影响。

以上是我在C语言程序设计实训中的学习和实践经验的报告,通过这次实训,我对C语言的掌握更加深入,提高了我的编程能力和团队协作能力。

希望这次实训对我的未来学习和工作有所帮助。

大学生c语言程序设计实训报告总结

大学生c语言程序设计实训报告总结

最新大学生c语言程序设计实训报告总结大学生c语言程序设计实训报告总结C语言是在国内外广泛使用的一种计算机语言。

其语言功能丰富、表达能力强、使用灵活方便,,小编整理了大学生c语言程序设计实训报告总结,希望能帮助到您。

大学生c语言程序设计实训报告总结一C语言是在国内外广泛使用的一种计算机语言。

其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。

其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言。

掌握了C语言,可以说你就掌握了很多门语言。

学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。

所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。

同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

在学习一年C语言的过程中我也在慢慢探索怎样才能学好C语言,并总结了一点经验:要了解C语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。

在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。

这些都是语法基础也是C语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。

C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。

一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。

C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。

在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。

非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。

通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。

不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。

这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。

如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。

C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。

比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。

还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。

通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。

C语言程序设计实习报告

C语言程序设计实习报告

C语言程序设计实习报告第一篇:C语言程序设计实习报告实习报告题目: C语言程序设计所属系、部 : 电气工程学院班级: 电子商务131 姓名:贺道君学号: 20***5 指导教师: 费玲玲2014年6月一、实习目的加深理解C语言基础知识及其编程技术,了解高级程序设计语言的结构,熟练掌握程序设计方法和技巧,掌握基本的分析和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。

二、实习时间、地点6月16日(星期一)上午:微机室5下午:微机室56月17日(星期二)3、4:微机室5下午:微机室36月18日(星期三)上午:微机室5下午:学校6月19日(星期四)上午:微机室5下午:微机室36月20日(星期五)上午:C101下午:学校三、实习内容综合四、实习总结在学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统。

在为期一周周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。

好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。

在这里,我作为其中的参与者,自然感触良多刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助。

回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用。

然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念。

可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识。

说说函数。

虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了。

学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。

C语言课程实习(优秀范文5篇)

C语言课程实习(优秀范文5篇)

C语言课程实习(优秀范文5篇)第一篇:C语言课程实习课程实习一、C程序上机操作方法及运行环境编写一个C程序,输入a, b, c,d四个值,输出其中最小者。

#includemain(){int a,b,c,d,t;printf(“Please input numbers:”);scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);t=min(min(min(a,b),c),d);printf(“min number is:%dn”,t);}int min(int x,int y){int z;if(xz=x;elsez=y;return(z);}运行结果:Please input numbers:4,6,3,9min number is:3课程实习二、C程序上机操作方法及运行环境从键盘输入三个字符,要求输出这三个字符,并输出它们的ASCII 码及其ASCII码的平方根和的平方。

#include#includevoid main(){char ch1,ch2,ch3;float t;scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);t=sqrt(ch1)+sqrt(ch2)+sqrt(ch3);printf(“%c,%dn”,ch1,ch1);printf(“%c,%dn”,ch2,ch2);printf(“%c,%dn”,ch3,ch3);printf(“%fn”,t*t);}运行结果:a,b,ca,97b,98c,99881.984683课程实习三、循环结构程序设计1)输入两个正整数m和n;2)如果m=n输出最大公约数m程序结束;3)若m>n则m=m-n否则n=n-m;4)返回到2)(循环)。

#includevoid main(){int m,n;scanf(“%d%d”,&m,&n);while(m!=n){if(m>n)m=m-n; else n=n-m;}printf(“%dn”,m); }运行结果:34,24课程实习四、循环结构程序设计打印下面的图案# # # # ## # # ## # ## ##includevoid main(){int i,j;for(i=1;i<=4;i++) {for(j=1;jprintf(“ ”);for(j=5;j>=i;j--) printf(“*”); putchar('n');}}课程实习五、数组的应用输入一个0到150之间的十进制整数,要求把此数转化为二进制形式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计综合实习报告The latest revision on November 22, 2020课题一:用指针优化学生成绩排名一、目的1.熟悉变量的指针和指向变量的的指针变量的概念和使用2.熟悉数组的指针和指向数组的的指针变量的概念和使用3. 掌握冒泡法或选择法排序的算法4. 掌握函数的定义、调用、声明,以及参数的两种传递方式二、实习环境个人计算机,Windows操作系统,Turbo C 2.0或 WinTC或Visual C++等编译开发环境三、实习内容与步骤1.定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现2.将数组stu[10]的内容输出到屏幕上,要求用指针实现3.将成绩数组按照从高到低进行排序,要求用指针实现4.将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单5.采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)6.在实习报告中画出程序流程图,说明程序设计的算法,附主要程序段运行结果(屏幕截图)。

7. 在实习报告中说明知识点。

8.在实习报告中说明程序设计过程中的难点、解决办法及编程小结或体会。

四、程序流程图、算法及运行结果1.程序流程图:2.算法:由键盘输入输出成绩先定义一个函数接收10个学生的成绩,利用指针将数据保存在数组中,再定义第二个函数输出所以学生的成绩,同样也是使用指针,最后定义一个函数用选择排序法对成绩进行由大到小的排序,将指针指向的是数组中的第一个地址,在主函数中依次调用这两个函数;定义一个字符指针指向字符串,利用库函数中的strcpy将student score复制给字符指针,输出字符串3.程序:#include"stdio.h"#include"string.h"struct student{int grade;int num;}stu[10];void input(struct student *p){ int i;for(i=0;i<10;i++,p++){ printf("请输入第 %-2d个学生的成绩:",i+1);scanf("%d%d",&p->num,&p->grade); }}void printout(struct student *p){ int i;for(i=0;i<10;i++,p++)printf("第 %-2d个学生的成绩为:%d\n",i+1,p->grade); }void arrow (int *p1,int *p2,int *px,int *py){ int t,m;t=*px; *px=*py; *py=t;m=*p1; *p1=*p2; *p2=m;}void place(struct student stu[]){ int i,j;for(i=1;i<10;i++ )for(j=0;j<10-i;j++)if (stu[j].grade<stu[j+1].grade)arrow(&stu[j].num,&stu[j+1].num,&stu[j].grade,&stu[j+1].grade);}int main(void){ struct student stu[10],*ptr;int i;char string[100],*s;s=string;ptr=stu;input(ptr);printout(ptr);place(stu);printf("排序后的成绩单为:\n");for(i=0;i<10;i++)printf("第 %-2d名 %-2d %-5d\n",i+1,stu[i].num,stu[i].grade);printf("\n");strcpy(s,"student score");printf("%s\n",string);}4.运行结果:五、知识点、难点及解决办法。

主要考察的是利用指针作为函数参数以及指针数组的知识点,如何使指针指向数组并能将值返回给主函数是一个难点首先定义一个整型指针指向数组stu[]的首地址,在自定义函数中运用循环结构实现指针的移动并分别存储各个学生的成绩返回给主函数六、编程小结或体会。

编程时除了注意指针与函数如何调用外,还要注意细节问题,比如自定义变量类型的统一,循环结构的循环次数等等,要谨慎对待课题二:学生成绩单制作一、目的1.掌握结构体变量及数组的定义、赋值、初始化、输入、输出2.结构体数组的操作。

二、实习环境个人计算机,Windows操作系统,Turbo C 2.0或 WinTC或Visual C++等编译开发环境三、实习内容与步骤1.定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩2.从键盘输入10个学生的以上内容3.输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩4.输出三门课程的平均分数最高的学生的学号、姓名及其平均分5.将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:number name math Chinese English average103 tom 90 90 100 95101 alice 90 80 70 806.在实习报告中画出程序流程图,说明程序设计的算法,附主要程序段及运行结果(屏幕截图)。

7.在实习报告中说明知识点。

8.在实习报告中说明程序设计过程中的难点、解决办法及编程小结或体会四、程序流程图、算法及运行结果1.程序流程图:2.算法:先定义一个结构体,存储学生的各项信息,定义一个结构体指针指向结构体数组,第一个函数比较每个学生单门课的成绩,返回每一门课最高分学生的stu 的下标;第二个函数比较每个学生的平均分,返回平均分最高的学生;第三个函数主要按照平均分高低对学生进行排序,通过循环和选择排序法实现指针的移动以及重新排列,主函数中依次调用这三个函数3.程序:比较每个学生单门课成#include"stdio.h"#define N 10struct student{long number;char name[20];float grade[3];float average;}stu[10];int hanshu_best(struct student *p,int m) { int q,num;float a;a=p->grade[m];num=0;for(q=0;q<N-1;q++)if((p+q)->grade[m]>a){ a=(p+q)->grade[m];num=q; }return num;}int hanshu_average(struct student *p){ int i,m,index;float a;for(m=0;m<N;p++,m++){ p->average=0;for(i=0;i<3;i++)p->average=p->average+p->grade[i]; p->average=p->average*1.0/3; }a=p->average;for(m=0;m<N;p++,m++)if(p->average>a){ a=p->average;index=m; }elseindex=0;return index;}void hanshu_place(struct student stu[]){ int i,j;struct student t;for(i=0;i<N;i++)for(j=i;j<N-1;j++)if(stu[j+1].average>stu[i].average){ t=stu[j+1]; stu[j+1]=stu[i]; stu[i]=t;} }void main(){struct student stu[10],*ptr;int i,j,index,m,num;float average;ptr=stu;for(i=0;i<N;i++){ printf("请输入第%d个学生的学号、姓名及三科成绩:\n",i+1); scanf("%ld%s",&stu[i].number,stu[i].name);for(j=0;j<3;j++)scanf("%f",&stu[i].grade[j]); }printf("\n");for(m=0;m<3;m++){ num=hanshu_best(ptr,m);printf("学号%ld 姓名:%-10s 最高分% -8.2f\n",stu[num].number,stu[num].name,stu[num].grade[m]); } index=hanshu_average(ptr);printf("\n三门课平均分最高的学生信息是:\n");printf("学号%ld 姓名:%-10s 平均分%-8.2f\n",stu[index].number,stu[index].name,stu[index].average);printf("\n10个学生由高分到低分排名为:\n");printf("number name Math Chinese Englishaverage\n");hanshu_place(ptr);for(i=0;i<N;i++){ printf("%-10ld%-10s%",stu[i].number,stu[i].name);for(j=0;j<3;j++)printf("%-10.2f",stu[i].grade[j]);printf("%-10.2f\n",stu[i].average);}}4.运行结果:五、知识点、难点及解决办法。

主要考察的是结构体指针的运用,比较难的地方也就是如何将指针指向结构体并返回我们所要的数值先定义一个结构体数组,再定义一个结构体指针,令指针指向数组的首地址,在自定义函数中通过指针的运算实现数组的运算,并返回相应的值六、编程小结或体会。

相关文档
最新文档