C语言结构体实验报告

合集下载

C语言实验报告总结(共6篇)

C语言实验报告总结(共6篇)

c语言上机实验心得在科技高度发展的今天,计算机在人们之中的作用越来越突出。

而c语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好c语言,这对我们以后的发展是十分重要的。

说到这,上机实验当然就是一个必不可少的环节了,c语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。

为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。

通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了c语言那就大错特错了。

我主要存在以下的这些缺点:1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。

而在最后输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。

2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了。

3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。

知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。

5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。

英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。

为了能更好地学好c语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。

实验中我深刻意识到完成程序的编写,决不意味着万事大吉。

认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。

有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。

因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。

结构体编程实验报告

结构体编程实验报告

一、实验目的1. 理解结构体的概念和作用。

2. 掌握结构体的定义、声明和使用方法。

3. 学会通过结构体实现复杂数据的组织和管理。

4. 提高编程实践能力。

二、实验环境1. 编程语言:C/C++2. 操作系统:Windows/Linux3. 编译器:GCC三、实验内容1. 定义一个学生结构体,包含姓名、年龄、性别、学号、成绩等信息。

2. 实现一个函数,用于创建学生结构体实例。

3. 实现一个函数,用于打印学生信息。

4. 实现一个函数,用于计算学生的平均成绩。

5. 实现一个函数,用于查找特定学号的学生信息。

四、实验步骤1. 定义学生结构体```c#include <stdio.h>typedef struct {char name[50];int age;char gender;int id;float score;} Student;```2. 创建学生结构体实例的函数```cStudent createStudent(char name, int age, char gender, int id, float score) {Student stu; = name;stu.age = age;stu.gender = gender;stu.id = id;stu.score = score;return stu;}```3. 打印学生信息的函数```cvoid printStudentInfo(Student stu) {printf("Name: %s\n", );printf("Age: %d\n", stu.age);printf("Gender: %c\n", stu.gender);printf("ID: %d\n", stu.id);printf("Score: %.2f\n", stu.score);}```4. 计算学生平均成绩的函数```cfloat calculateAverageScore(Student stu, int n) {float sum = 0;for (int i = 0; i < n; i++) {sum += stu[i].score;}return sum / n;}```5. 查找特定学号的学生信息的函数```cStudent findStudentById(Student stu, int n, int id) { for (int i = 0; i < n; i++) {if (stu[i].id == id) {return &stu[i];}}return NULL;}```五、实验结果1. 创建一个学生结构体实例```cStudent stu1 = createStudent("Alice", 20, 'F', 1001, 85.5); ```2. 打印学生信息```cprintStudentInfo(stu1);```输出结果:```Name: AliceAge: 20Gender: FID: 1001Score: 85.50```3. 计算平均成绩```cStudent stu2 = createStudent("Bob", 21, 'M', 1002, 90.0); Student stu3 = createStudent("Charlie", 22, 'M', 1003, 92.0); float averageScore = calculateAverageScore(&stu1, 3);printf("Average Score: %.2f\n", averageScore);```输出结果:```Average Score: 88.50```4. 查找特定学号的学生信息```cStudent stuFound = findStudentById(&stu1, 3, 1002); if (stuFound != NULL) {printStudentInfo(stuFound);} else {printf("Student with ID 1002 not found.\n");}```输出结果:```Name: BobAge: 21Gender: MID: 1002Score: 90.00```六、实验总结通过本次实验,我们学习了结构体的概念和作用,掌握了结构体的定义、声明和使用方法。

c语言结构的实验报告

c语言结构的实验报告

c语言结构的实验报告C语言结构的实验报告引言:C语言是一种广泛应用于软件开发和嵌入式系统的高级编程语言。

其简洁、高效和灵活的特性使其成为许多程序员的首选。

本实验报告将介绍C语言结构的相关概念和实验结果,旨在帮助读者更好地理解和运用C语言。

一、基本概念1.1 结构的定义在C语言中,结构是一种自定义的数据类型,可以将不同类型的数据组合在一起,形成一个新的数据类型。

结构由多个成员组成,每个成员可以是不同的数据类型,如整型、字符型、浮点型等。

1.2 结构的声明在使用结构之前,需要先声明结构的类型。

声明结构的语法格式为:struct 结构名 {成员1; 成员2; ...};通过这种方式,我们可以定义一个结构类型,以便在程序中使用。

1.3 结构的访问通过结构名和成员运算符(.)可以访问结构的各个成员。

例如,如果有一个名为student的结构,其中包含学生的姓名和年龄两个成员,可以使用和student.age来访问这两个成员。

二、实验过程2.1 定义结构类型在本次实验中,我们以学生信息为例,定义了一个名为Student的结构类型,其中包含姓名(name)、年龄(age)和成绩(score)三个成员。

2.2 输入学生信息通过使用scanf函数,我们可以在程序中输入学生的姓名、年龄和成绩,并将其保存在定义的结构类型变量中。

2.3 输出学生信息使用printf函数,我们可以将学生的姓名、年龄和成绩从结构类型变量中提取出来,并在屏幕上显示出来。

2.4 结构的嵌套C语言中的结构还支持嵌套,即在一个结构中定义另一个结构。

例如,我们可以在Student结构中定义一个名为Address的结构,用于存储学生的地址信息。

三、实验结果与分析通过实验,我们可以发现结构在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语言结构体实验报告

实验目的(1) 掌握结构体的定义和使用方式;(2) 掌握结构体数组的使用方法;(3) 理解结构体指针作为函数参数的方法。

实验任务(1)编写程序:定义一个结构类型,可以存储一个学生的姓名、数学和计算机两门课的成绩,输入一个学生的姓名和两门课的成绩到结构体变量中,然后计算并输出其平均成绩及姓名。

(2)编写程序:定义一个结构类型, 可以存储一个学生的平时、实习、测验、期末成绩和总评成绩。

1)编程完成输入4个学生的平时、实习、测验和期末成绩。

封装成函数。

2)计算这4个学生的总评成绩,封装成函数。

其中平时、实习、测验和期末分别占10%、20%、20%、50%。

3)找到总评成绩最高的学生,封装成函数。

4)输出总评成绩最高的学生的成绩信息(平时、实习、测验、期末成绩和总评成绩)。

5)要求用结构体数组流程图见白纸源程序1.#include<stdio.h>struct student{int name[20];float a;float b;};int main(){struct student stu1;printf("请输入学生姓名、数学成绩、计算机成绩:\n");scanf("%s%f%f",&, &stu1.a, &stu1.b);float sum;sum = (stu1.a + stu1.b) / 2;printf("%s平均成绩为%f", , sum);return 0;}2.#include<stdio.h>struct student{float a;float b;float c;float d;float average;};int max(int a[4]){int i,t,m=a[0],max=0;for (i = 0; i < 4; i++){if (m < a[i]){a[i] = t;a[i] = m;m = t;max = i;}}return max;}int main(){int sum[4];int m,n;struct student stu[4];printf("请输入4个学生的平时、实习、测验、期末\n");int i;for (i = 0; i < 4; i++){scanf("%f%f%f%f", &stu[i].a, &stu[i].b, &stu[i].c, &stu[i].d);sum[i] = stu[i].average = stu[i].a*0.1 + stu[i].b*0.2 + stu[i].c*0.2 + stu[i].d*0.3;}m = max(sum);n = m + 1;printf("成绩最高的第%d个学生\n平时成绩为%f\n实习趁机为%f\n测验成绩为%f\n期末成绩为%f\n总评成绩为%f", n, stu[m].a, stu[m].b, stu[m].c, stu[m].d, stu[m].average);return 0;}运行结果实验总结基本掌握结构体的定义和使用方式;基本掌握结构体数组的使用方法;能理解结构体指针作为函数参数的方法。

函数结构体实验报告

函数结构体实验报告

一、实验目的1. 理解结构体的概念及其在C语言中的应用。

2. 掌握结构体函数的设计与实现。

3. 通过实例加深对结构体在函数中的应用理解。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C语言三、实验内容1. 结构体定义2. 结构体函数设计3. 结构体函数调用4. 结构体数组应用四、实验步骤1. 结构体定义```c#include <stdio.h>// 定义一个学生结构体struct Student {char name[50]; // 学生姓名int age; // 学生年龄float score; // 学生成绩};```2. 结构体函数设计```c// 函数声明void printStudent(struct Student stu); struct Student inputStudent();```3. 结构体函数实现```c// 打印学生信息void printStudent(struct Student stu) { printf("姓名:%s\n", );printf("年龄:%d\n", stu.age);printf("成绩:%.2f\n", stu.score); }// 输入学生信息struct Student inputStudent() {struct Student stu;printf("请输入学生姓名:");scanf("%s", );printf("请输入学生年龄:");scanf("%d", &stu.age);printf("请输入学生成绩:");scanf("%f", &stu.score); return stu;}```4. 结构体函数调用```cint main() {struct Student stu1, stu2; // 输入两个学生的信息stu1 = inputStudent();stu2 = inputStudent();// 打印两个学生的信息printStudent(stu1);printStudent(stu2);return 0;}```5. 结构体数组应用```c// 定义一个学生结构体数组struct Student stuArray[3];// 输入学生信息for (int i = 0; i < 3; i++) {stuArray[i] = inputStudent();}// 打印学生信息for (int i = 0; i < 3; i++) {printStudent(stuArray[i]);}```五、实验结果通过以上实验步骤,我们成功实现了以下功能:1. 定义了一个学生结构体,包含姓名、年龄和成绩三个字段。

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

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

c语言程序设计—结构体—实验报告
实验报告
一、实验背景
随着计算机科学的发展,数据的处理和存储已经发生了巨大的变化,变得更加结构化和更有效率。

考虑到这一点,结构体在计算机程序设计中尤其重要。

因此,本实验的目的是练习使用C语言编程,设计并实现相应的结构体,来实现一定的功能。

二、实验目标
设计一个结构体struct book,包含书名、作者名、出版社、价格等字段,并实现以下功能:
(1)按照书名查找图书;
(2)将书籍信息以字符串格式输出;
(3)将书籍信息保存到文件中;
三、实验内容
1. 用C语言定义结构体struct book,包含书名字段name(char类型)、作者author(char类型)、出版社publisher(char类型)、价格price(float类型)等信息。

2. 创建一个函数findBook,输入参数为书名字符串,输出参数为书籍信息struct book。

该函数实现按照书名查找图书功能,若查找成功返回书籍信息,否则返回null。

四、实验结果
经过上述步骤,已经编写了相应的C语言程序实现了按照书名查找图书、将书籍信息以字符串格式输出、将书籍信息保存到文件中、从文件中读取书籍信息等功能。

五、总结
本实验中,使用C语言实现了结构体struct book的定义及四个功能的程序,理解并大致掌握了结构体的使用,学会用程序实现数据的存取。

因此,我们可以看到,结构体的使用可以使数据的存取更加有效率和简单,对于程序设计是很重要的一个概念。

C语言实验报告9篇

C语言实验报告9篇

C语言实验报告C语言实验报告9篇随着个人素质的提升,报告的适用范围越来越广泛,我们在写报告的时候要注意语言要准确、简洁。

写起报告来就毫无头绪?以下是小编为大家整理的C语言实验报告,仅供参考,欢迎大家阅读。

C语言实验报告1一、实习目的1.掌握在集成环境中编辑、编译、连接和运行C程序的方法。

(1)运行TC(2)启动TC集成环境,输入一个源程序,编译并运行。

2.掌握单步执行、设置/去除断点,观察变量或表达式的值。

(3)在该程序中按CTRL+F7单步招待并在观察窗口中查看变量和表达式的值。

(4)设置/去除断点,继续调试。

1、熟练掌握if.switch分支语句的使用。

2、熟练掌握for.while.do.while循环语句的使用。

3、熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。

4、熟练掌握一维数组、二维数组、字符数组的定义、说明和使用方法。

熟练掌握结构体和指针的综合应用链表的操作二、实习地点北京交通干部管理学院计算机系机房十三号.三、实习成果熟练掌握TC集成环境的使用方法。

认真编写实习报告和实习总结,描述实习操作和心得体会,总结在这次实习中的业务收获,作出自我评价。

熟练掌握并应用TC程序设计的各个知识点。

掌握结构体和指针的联合使用,学会链表的构造和常用操作方法,认真编写实习日志和实习体会。

并通过各种途径查找所需资料,拓宽视野,培养自学能力。

四、实习心得在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。

我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。

老师安排我们有具有的分工:首先,在计算机机房里同学们积极的对C语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项和同学们的任何。

老师把我们分为几组,每一组十一个人,并且分配了具体的任务,在我们实习结束后每一组的同学都把自己组里的成果展示给大家一起分享,告诉大家编程的原理、方法等,使同学们既有动手能力,又能提高语言表达能力。

c语言顺序结构实验报告

c语言顺序结构实验报告

c语言顺序结构实验报告篇一:实验三顺序结构程序设计实验报告实验三顺序结构程序设计实验报告一、实验目的1. 掌握掌握赋值语句的使用方法。

2. 各种类型数据的输入输出的方法,能正确使用各种格式转换符。

3. 进一步掌握编写程序和调试程序的方法。

二、实验内容(源代码)1. sy3-(1) ①#includeint main() { int a,b;//基本整型float d,e; //单精度浮点型 char c1,c2;//字符型 double f,g;//双精度浮点型long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型a=61,b=62; c1='a';c2='b';//'a''b'的"'"不能掉了d=3.56;e=-6.87; //d,e之间用";"隔开f=3157.890121;g=0.9; m=50000;n=-60000; p=32768;q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n", a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/" printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\ n",f,g,m,n,p,q); //f后的q改为g}③#includeint main() {int a,b;//基本整型 float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型 long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型 a=61,b=62;c1=a;c2=b; //c1,c2之间用&quot;;"隔开 f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n", a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/"printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\ n",f,g,m,n,p,q); //f后的q改为g④#includeint main() {int a,b;//基本整型 float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型 long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型 a=61,b=62;c1=a;c2=b; //c1,c2之间用";"隔开f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%d,c2=%d\nd=%d,e=%d\n",sizeof (a),sizeof(b),sizeof(c1),sizeof(c2),sizeof(d),sizeo f(e));printf("f=%d,g=%d\nm=%d,n=%d\np=%d,q=%d\n",sizeof(f ),sizeof(g),sizeof(m),sizeof(n),sizeof(p),sizeof(q) );}2. sy3-(2)#include int main() {float h,r,c,s1,s2,v1,v2; //定义float pi=3.1415926; //赋值printf("圆半径r=,圆柱高h=:");//提示scanf("%f,%f",&r,&h); //输入c=2*pi*r; //计算s1=pi*r*r;//"*"不可省略s2=4*s1;v1=4.0/3.0*s1*r; v2=s1*h;printf("圆周长:c=%6.2f\n",c); //输出 printf("圆面积:s1=%6.2f\n",s1);printf("圆球表面积:s2=%6.2f\n",s2); printf("圆球体积:v1=%6.2f\n",v1); printf("圆柱体积:v2=%6.2f\n",v2); return 0;}3. sy3-(3)#include#include //不要忘了数学函数 int main() {float p,r5,r3,r2,r1,r0,p1,p2,p3,p4,p5; //定义p=1000;//赋值printf("r5=,r3=,r2=,r1=,r0=:");//提示 scanf("%f,%f,%f,%f,%f",&r5,&r3,&r2,&r1,&r0); //输入 p1=p*r5*5; //计算}p2=p*(1+2*r2)*(1+3*r3)-p; p3=p*(1+3*r3)*(1+2*r2)-p; p4=p*pow(1+r1,5)-p; p5=p*pow(1+r0/4,20)-p;printf("方案1的利息:p1=%f\n",p1); //输出printf("方案2的利息:p2=%f\n",p2); printf("方案3的利息:p3=%f\n",p3); printf("方案4的利息:p4=%f\n",p4); printf("方案5的利息:p5=%f\n",p5); return 0;4. sy3-(4)① #include int main() {char c1='C',c2='h',c3='i',c4='n',c5='a';//定义与赋值 c1=c1+4;//计算 c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略 printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略 return 0;}② #include int main(){ }char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值 c1=c1-22;//计算 c2=c2-22; c3=c3-22; c4=c4-22; c5=c5-22;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略 printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略 return 0;③ #include int main(){char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值 c1=c1-4;//计算 c2=c2-4; c3=c3-4; c4=c4-4; c5=c5-4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略 printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略 return 0;}篇二:C语言实验二程序、总结顺序结构与输入、输出方法实验二顺序结构与输入/输出方法1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自增减运算符的使用。

实验报告_结构体

实验报告_结构体

一、实验目的1. 理解结构体的概念和作用。

2. 掌握结构体的定义、声明和初始化方法。

3. 熟悉结构体成员的访问和修改。

4. 学会结构体数组的定义、初始化和访问。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C++三、实验内容1. 结构体的定义和声明2. 结构体的初始化3. 结构体成员的访问和修改4. 结构体数组的定义、初始化和访问四、实验步骤1. 结构体的定义和声明```cppstruct Student {char name[50];int age;float score;};```2. 结构体的初始化```cppStudent stu1 = {"张三", 20, 90.5};```3. 结构体成员的访问和修改```cpp// 访问cout << "姓名:" << << endl; cout << "年龄:" << stu1.age << endl; cout << "成绩:" << stu1.score << endl; // 修改stu1.age = 21;stu1.score = 95.5;```4. 结构体数组的定义、初始化和访问```cpp// 定义结构体数组Student stuArray[3];// 初始化结构体数组stuArray[0] = {"李四", 19, 85.5}; stuArray[1] = {"王五", 20, 92.0}; stuArray[2] = {"赵六", 21, 88.5};// 访问结构体数组cout << "第一个学生的姓名:" << stuArray[0].name << endl;cout << "第一个学生的年龄:" << stuArray[0].age << endl;cout << "第一个学生的成绩:" << stuArray[0].score << endl;```五、实验结果1. 定义了一个名为Student的结构体,包含姓名、年龄和成绩三个成员变量。

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

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

C语言程序设计实验报告(结构体和共用体)1实验目的1、掌握结构体类型变量的定义和使用;2、掌握结构体类型变量数组的概念和使用;3、掌握链表的概念,初步学会对链表进行操作;4、掌握共用体的概念和使用。

2实验内容1)在一个结构体数组中存入三个人的姓名及年龄,输出三者中年龄居中者的姓名及年龄。

要求:1、三个人的数据采用直接初始化的方式赋值;2、利用结构体指针实现处理过程。

3算法描述流程图4源程序#include<stdio.h>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语言结构体实验报告

c语言结构体实验报告

c语言结构体实验报告实验目的:掌握C语言结构体的基本知识,能够使用结构体对多个变量进行分类管理。

实验内容:1.理解结构体的基本概念结构体是一种用户自定义的数据类型,它由多个不同类型的变量组成,每个变量称为结构体的成员。

2.定义结构体类型定义结构体类型需要使用struct关键字,格式如下:struct 结构体类型名{数据类型成员1;数据类型成员2;...};3.结构体变量的定义与初始化定义结构体变量时,可以像定义简单变量一样使用结构体类型名进行声明,然后使用“.”运算符来访问结构体成员。

结构体变量的初始化方式和普通变量一样,可以用赋值语句或者在定义时用大括号括起来的成员值列表进行初始化。

4.结构体作为函数参数结构体变量可以作为函数参数进行传递,当传递结构体变量时,实际上传递的是结构体变量的拷贝,因此函数在对结构体进行改变时不会影响原来的结构体变量。

5.结构体数组和普通数组一样,结构体数组也是一组相同类型的变量的集合,用于存储多个结构体变量。

在定义结构体数组时,可以使用类似普通数组的方式进行定义。

实验过程:我们按照上述内容进行C语言结构体的实验,具体过程如下:1.定义一个结构体类型,包括两个成员,分别为学生姓名和学生的成绩。

struct student{char name[20];float score;};2.定义并初始化一个学生结构体变量。

struct student s={"Tom",88.5};3.定义一个函数,用于输出学生的姓名和成绩。

void output(struct student s){printf("Name:%s Score:%.2f\n",,s.score);}4.定义一个结构体数组,用于存储多个学生的信息。

struct student stu[3]={{"Tom",88.5},{"Jerry",76},{"Tony",90}};5.调用output函数,输出学生的姓名和成绩。

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

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

实验报告专业软件工程班级X 班学号_ XXXXXXXXX_ 姓名实验日期:201X年X月X日报告退发(订正、重做)课程C程序设计实验实验名称结构体一、实验目的二、实验环境(描述实验的软件、硬件环境)①软件环境:windows xp/win7等操作系统,Microsoft Visual C++ 6.0编译器;②硬件环境:PC机一台三、实验内容、步骤和结果分析题目一:#include <stdio.h>#include <stdlib.h>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;printf("The number of students is:");scanf("%d", &n);struct Stu *stu = (struct Stu *)calloc(n, sizeof(struct Stu));for (i = 0; i<n; i++){printf("请输入第%d位学生的基本信息:\n", i + 1);printf("学号:");scanf("%d", &(stu + i)->num);printf("姓名:");scanf("%s", (stu + i)->name);printf("性别:");scanf(" %c", &(stu + i)->sex);printf("年龄:");scanf("%d", &(stu + i)->age);printf("三科成绩:");scanf("%f%f%f", &(stu + i)->score[0], &(stu + i)->score[1], &(stu + i)->score[2]);putchar('\n');}printf("===================================================================\n");for (i = 0; i<n; i++){fun(stu + i, i + 1);}return 0;}题目二:计算每一个结构体的两个变量所表示的长度之和(单位:厘米)(1)分别定义公制METRIC(成员包括:米、厘米)和英制BRITISH(成员包括:英尺、英寸)两个结构体;(2)为每一个结构定义两个变量。

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**编号名称价格折扣*1010 键盘89.50 0.85*1021 冰箱1024.00 0.95*1022 空调2058.50 0.90*1023 电视3001.88 0.95*****************************************************************/#include <stdio.h>typedef struct _PRODUCT{int iNumber;char strName[32];float fPrice;float fDiscount;}PRODUCT,*PPRODUCT;void input(PRODUCT *pProduct);void display(PPRODUCT pProduct);void main(){int i;PRODUCT kyeboard;PRODUCT elec_device[3];input(&kyeboard);for(i=0;i<3;i++){input(&elec_device[i]);}display(&kyeboard);for(i=0;i<3;i++){display(&elec_device[i]);}}/******************************************************************函数名称:input()**参数:PRODUCT *pProduct -PRODUCT结构体指针,用来存放输入数据***返回值:无*说明:*该函数用来完成PRODUCT结构体数据的输入。

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

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

实验2 结构化程序设计一、 实验目的1.了解C/C++语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。

2.学会正确使用逻辑运算符和逻辑表达式。

3.熟练掌握if 语句和switch 语句。

4.熟练掌握while 语句、do ...while 语句和for 语句格式、使用方法以及区别,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。

5.掌握break 和continue 程序控制语句的使用。

6.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。

进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

7.结合程序掌握一些简单的算法。

8.学习调试程序。

二、实验环境PC 微机Windows 操作系统VS 2019 程序集成环境三、实验内容与步骤1.编写程序:根据公式2222213121116n ++++= π ,输出 π的值。

要求:(1)变量π为单精度类型,n 为整型;(2)计算当n 的取值分别为20,50 ,100,200时的π值,说明什么问题?(3)修改程序,不给出n 值,而改为求π值,直到最后一项的数值小于10-4 为止。

(4)对修改后的程序,输出π值以及总的项数n 。

输出格式为:π=值;n=值。

代码①:#include <stdio.h>#include<math.h>int main(){int n,i;float pi;double sum = 0;while ((scanf("%d", &n) != EOF)) {for (i = 1; i <= n; i++) {sum += 1.0 / (i * i);}pi = (float)sqrt(6 * sum);printf("%f\n", pi);sum = 0;}return 0;}代码②:#include<stdio.h>#include<math.h>int main(){int n,i;float pi;double sum = 0;for (i = 1; 1.0 / (i * i) >= 1e-4; i++) {sum += 1.0 /( i * i);}pi = (float)sqrt(6.0 * sum);n = i;printf("pi = %f;n = %d",pi,n);return 0;}结果分析:1.第一问:当n = 20、50、100、200时pi分别为“3.094670、3.122627、3.132077、3.136826”,由此可知当n越大时,pi的精度越高。

结构体实验报告

结构体实验报告

C语言程序设计实验报告实验七结构体程序设计班级学号姓名一、实验目的(1)掌握结构体类型的概念、定义和使用;(2)掌握结构体数组、结构体指针的定义和使用;二、实验内容1、输入5位同学的一组信息,包括学号、姓名、数学成绩、计算机成绩,求得每位同学的平均分和总分,然后按照总分从高到低排序。

程序代码:#include <stdio.h>#include <stdlib.h>#define STU_NUM 5struct student{char stu_id[20];char name[20];float score[2];float total;float aver;};void SortScore(student *stu,int n){student stud;for(int i = 0; i < n-1; i++)for(int j = i+1 ; j < n; j++){if(stu[i].total < stu[j].total){stud = stu[i];stu[i] = stu[j];stu[j] = stud;}}}int main( ){student stu[STU_NUM];for(int i = 0; i<STU_NUM; i++){printf("请输入第%d个学生的学号:",i+1);scanf("%s",&stu[i].stu_id);printf("请输入第%d个学生的姓名:",i+1);scanf("%s",&stu[i].name);printf("输入第%d个学生的数学成绩:",i+1);scanf("%f",&stu[i].score[0]);printf("输入第%d个学生的计算机成绩:",i+1);scanf("%f",&stu[i].score[1]);stu[i].total = stu[i].score[0]+stu[i].score[1]; stu[i].aver = stu[i].total/2;}printf("\n");SortScore(stu,STU_NUM);for(i = 0 ; i < STU_NUM; i++){printf("学号:%s\t",stu[i].stu_id);printf("姓名:%s\t",stu[i].name);printf("数学:%f\t",stu[i].score[0]);printf("计算机:%f\t",stu[i].score[2]);printf("平均成绩:%f\t",stu[i].aver);printf("总分:%f\t",stu[i].total);printf("\n\n");}return 0;}运行结果:2.定义一个结构体变量(包括年、月、日)。

C语言程序设计实验结构体与共用体

C语言程序设计实验结构体与共用体

实验8:结构体与共用体一、实验目的1.掌握结构体类型变量的定义和使用;2.掌握共用体的概念与使用。

二、实验内容编写程序,实现如下功能:1.定义结构体变量,用它表示考生的学号、姓名(用英文表示)以及语文、数学、外语成绩。

输入两个考生的信息和各门课成绩并比较(按总分进行高低排序;当总分相同时,依次按语、数、外的顺序排序)。

2.设有一个教师与学生通用的表格,数据项包括:姓名、年龄、职业和单位,其中“职业”一项可分为“教师”和“学生”两类;对“单位”一项,教师填入“系部名称”(用字符类型表示),学生填入“班级编号”(用整型量表示)。

编程输入人员数据,再以表格输出。

三、实验结果记录第1题上机调试后的最终代码及上机调试结果(截图):程序代码运行结果1.总分不同2.总分相同的情况2.1总分完全相同2.2总分相同但语文成绩不同2.3总分相同、语文成绩相同但数学成绩不同第2题上机调试后的最终代码及上机调试结果(截图):程序代码运行结果1.正确输入2.错误输入四、实验小结:经过此次实验,我熟悉掌握了结构体的定义和使用,同时也掌握了共用体的使用。

对于程序1,基本思路是通过结构体定义变量,采用if-else语句嵌套,当总分相同且语文数学成绩均相同时就不必再进行一轮的if语句判断,因为此时两考生的英语成绩一定相同。

对于程序2,在结构体中定义了共用体,可对不同职业进行不同单位的划分。

基本思路是用malloc函数进行动态内存分配,确定要输入的样本数量,再进行数据的输入,在单位数据的输入时需要判断输入对象是学生还是老师,此时要用strcmp函数进行比较判断,输入结束后打印表格,用转义字符\t让表格更加美观,最后通过free进行内存释放。

C语言结构体实验报告

C语言结构体实验报告

《高级语言程序设计》实验报告实验序号:8 实验项目名称:结构体int i;for(i = 0; i<= number; i++){Stu[i] = (stu[i].score[0]+ stu[i].score[1]+stu[i].score[2])/3.0}}③求平均分最高的学生int averagescore(student stu[], int number){int k = 0;//查找最高平均分并记录在数组中的下标值for( int i = 0; i<= number; i++){………}return k; //返回最高平均分数组元素的下标}【测试数据】自己设计一组测试数据。

运行结果截图:【思考与扩展】如果这样定义结构体typedef struct Student{int num;//学号char name[20];//姓名注意字节长度char classname[20];//班级float score[3];//三门课程成绩float aver_score; //平均分} STU,* pSTU;说明如下三条语句的含义:student stu1;STU stu2;pSTU pstu;2.采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,初始化5名职工的信息,最后再对工作年限超过30年的职工加100元工资,然后分别输出工资变化之前和之后的所有职工的信息。

运行结果截图3.定义一个结构体变量(包括年、月、日)。

计算某年某月某日是本年中第几天?注意闰年问题。

运行结果截图:四、分析与讨论对上机实践结果进行分析,上机的心得体会。

成绩五、教师评语签名:日期:附源程序清单:1. #include<stdio.h>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 <stdio.h>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);};void main( ){int i;input();printf("初始化5名职工的信息:\n");for(i=1;i<=5;i++)printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);for(i=1;i<=5;i++)if(work[i].workyear>30) work[i].salary+=100;printf("最后5名职工的信息工:\n");for(i=1;i<=5;i++)printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);}3.#include <stdio.h>struct years{int year;int month;int date;}ye;int data[12]={31,28,31,30,31,30,31,31,30,31,30,31};void main( ){ int i,sum=0;int leap=0;printf("请输入改天的年月日:\n");scanf("%d %d %d",&ye.year,&ye.month,&ye.date);if(((ye.year%4)==0)&&((ye.year%100)!=0)) leap=1;if(((ye.year%4)==0)&&((ye.year%400)==0)) leap=1;if(leap=1) data[1]=29;for(i=0;i<(ye.month-1);i++){sum+=data[i];}sum+=ye.date;printf("\nit is the %d day.\n",sum); }。

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

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.#includeint 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(\ return 0; }void shuru(int a[10]) {int i;for(i=0;i<10;i++) scanf(\}void chuli(int a[10]) {int i,*max,*min,t1,t2; max=min=a; for(i=0;i<10;i++) {if(*maxa[i]) min=&a[i]; }t1=*max; *max=a[9]; a[9]=t1; t2=*min; *min=a[0]; a[0]=t2; }void shuchu(int a[10]) {int i;for(i=0;i<10;i++) printf(\}2. #includech(char *a) {int count=0;char *p=a;while(*p++) count++; return count; }int main() {char a[32767];printf(\请输入一个字符串:\\n\gets(a);printf(\该字符串的长度为:%d\\n\return 0; }3. #include #define N 5 struct student {char number[6]; char name[8]; int score[3]; int average; }student[N]; int main()感谢您的阅读,祝您生活愉快。

实验报告结构体【精选】

实验报告结构体【精选】

实验报告第 1 页专业__软件工程__ 班级软工1班学号_1230120130xx _ 姓名xx实验日期:2013年11 月1 日报告退发(订正、重做)课程c语言实验设计实验名称结构体一、实验目的(1)掌握一维数组的基本操作;(2)掌握二维数组的基本操作;二、实验环境(描述实验的软件、硬件环境)安装有Microsoft VC++6.0的PC机三、实验内容、步骤和结果分析(列出实验内容,阐明实验步骤及中间的结果或现象、最终结果和现象,对这些结果和现象进行分析,若出现误差也予以分析误差原因)题目一、有n个学生,每个学生的数据包括学号(num)、姓名(name)、性别(sex)、年龄(age)、三门课的成绩(score[3])。

要求从键盘上输入这n个学生的数据,然后调用一个函数来计算每个学生的总分和平均分然后打印所有数据。

(1)源码#include "stdafx.h"#include<stdio.h>#include<string.h>#include<stdlib.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;i<3;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;j<i;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;}(2)运行结果截图题目二、分别定义公制METRIC(成员包括:米、厘米)和英制BRITISH(成员包括:英尺、英寸)两个结构体。

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

《高级语言程序设计》实验报告实验序号:8 实验项目名称:结构体
int i;
for(i = 0; i<= number; i++)
{
Stu[i] = (stu[i].score[0]+ stu[i].score[1]+stu[i].score[2])/3.0
}
}
③求平均分最高的学生
int averagescore(student stu[], int number)
{
int k = 0;
//查找最高平均分并记录在数组中的下标值
for( int i = 0; i<= number; i++)
{
………
}
return k; //返回最高平均分数组元素的下标
}
【测试数据】
自己设计一组测试数据。

运行结果截图:
【思考与扩展】
如果这样定义结构体
typedef struct Student
{
int num;//学号
char name[20];//姓名注意字节长度
char classname[20];//班级
float score[3];//三门课程成绩
float aver_score; //平均分
} STU,* pSTU;
说明如下三条语句的含义:
student stu1;
STU stu2;
pSTU pstu;
2.采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,初始化5名职工的信息,最后再对工作年限超过30年的职工加100元工资,然后分别输出工资变化之前和之后的所有职工的信息。

运行结果截图
3.定义一个结构体变量(包括年、月、日)。

计算某年某月某日是本年中第几天?注意闰年问题。

运行结果截图:
四、分析与讨论
对上机实践结果进行分析,上机的心得体会。

成绩
五、教师评语
签名:
日期:
附源程序清单:
1. #include<stdio.h>
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 <stdio.h>
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);
};
void main( )
{
int i;
input();
printf("初始化5名职工的信息:\n");
for(i=1;i<=5;i++)
printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);
for(i=1;i<=5;i++)
if(work[i].workyear>30) work[i].salary+=100;
printf("最后5名职工的信息工:\n");
for(i=1;i<=5;i++)
printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);
}
3.#include <stdio.h>
struct years
{
int year;
int month;
int date;
}ye;
int data[12]={31,28,31,30,31,30,31,31,30,31,30,31};
void main( )
{ int i,sum=0;
int leap=0;
printf("请输入改天的年月日:\n");
scanf("%d %d %d",&ye.year,&ye.month,&ye.date);
if(((ye.year%4)==0)&&((ye.year%100)!=0)) leap=1;
if(((ye.year%4)==0)&&((ye.year%400)==0)) leap=1;
if(leap=1) data[1]=29;
for(i=0;i<(ye.month-1);i++)
{
sum+=data[i];
}
sum+=ye.date;
printf("\nit is the %d day.\n",sum); }。

相关文档
最新文档