实验内容(按要求设计以下程序,并调试分析运行结果,此部分完成在实验报告上)
1.(sy8-1.c)已知学生的记录有学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include
#include
#include
#define N 10
typedef struct ss
{
char num[10];
int s;
} STU;
void fun( STU a[], STU *s)
{ int i,min;
min=a[0].s;
for(i=0;i if(a[i].s { min=a[i].s; *s=a[i]; } } main() { STU a[N]={ {"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77}, {"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }, m ; int i; printf("**** The original data *****\n"); for(i=0;i printf("N0=%s Mark=%d\n", a[i].num,a[i].s); fun( a,&m); printf("***** THE RESULT *****\n"); printf(" The lowest : %s ,%d\n", m.num, m.s); } 2. (sy8-2.c)学生的记录由学生成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun,它的功能是:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include #define N 16 typedef struct char num[10]; int s; } STREC; int fun ( STREC *a, STREC *b ) { int i,j=0,min; min=a[0].s; for(i=1;i if(a[i].s for(i=0;i if(min==a[i].s) b[j++]=a[i]; return j; //带回最低分数学生的人数 } main () { STREC s[N]= {{"GA05",85}, {"GA03",76}, {"GA02",69}, {"GA04",85}, {"GA01",91}, {"GA07",72}, {"GA08",64}, {"GA06", 87}, {"GA015",85}, {"GA013",91}, {"GA012",64}, {"GA014",91}, {"GA011",91}, {"GA017",64}, {"GA018",64}, {"GA016",72}}; STREC h[N]; int i, n; n=fun ( s, h ); printf ("The %d lowest score :\n", n); for (i=0; i printf ("%s %4d\n", h[i]. num, h[i]. s); printf ("\n"); } 3. (sy8-3.c)学生的记录有学号和成绩组成,N 名学生的数据已在主函数中放入结构体函数组s 中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输出.若没找到指定学号,在结构提变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是strcmp)。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include #include #define N 16 typedef struct { char num[10]; int s; } STREC; STREC fun ( STREC *a, char *b ) int i; STREC h; for(i=0;i if(strcmp(a[i].num, b)==0) { h=a[i]; break; } else { strcpy(h .num, ""); h.s=-1; } return h; } main () { STREC s[N]= {{"GA005",85}, {"GA003",76}, {"GA002",69}, {"GA004",85}, {"GA001",91}, {"GA007",72}, {"GA008",64}, {"GA006",87}, {"GA015",85}, {"GA013",91}, {"GA012",64}, {"GA014",91}, {"GA011",77}, {"GA017",64}, {"GA018",64}, {"GA016",72}}; STREC h; char m[10]; int i; FILE *out; printf ( "The original data :\n" ); for (i=0; i { if ( i%4==0 ) printf ("\n"); printf ("%s %3d", s[i]. num, s[i]. s); } printf ("\n\nEnter the number : "); gets ( m ); h=fun ( s, m ); printf ( " The data : " ); printf ( "\n%s %4d\n", h . num, h . s ); printf ( "\n" ); } 四、实验要求: “实验内容”中的任务要求在实验课上完成,若未完成请在下次上课前利用课外时间完成。 五、实验报告填写要求: 1、第一页用《攀枝花学院实验报告》纸,其后用《实验报告附页》纸。 2、第一页填写项目: 实验课程:计算机基础2-C语言实验项目:[本次实验名称] 实验日期:[本次实验日期] 系:班级:姓名:学号: 指导教师: 3、实验报告正文要求: 实验目的:(抄写本次实验目的) 实验仪器设备:PC机一套 实验步骤(内容): (要求完成以上第三部分内容,编程题要求抄写题目并写出程序源代码,并记录程序的运行结果) 实验结论:(分析通过本次实验掌握的知识或是还有什么遗留问题) 4、实验报告写好后将完成的实验报告纸订(或粘)在一起,于下一次上课前交给指导老师。 验证性实验:数组指针结构体实验报告 1.实验目的 (1)复习c++语言数组的用法。 (2)复习c++语言指针的用法。 (3)复习c++语言结构体的用法。 (4)理解算法时间复杂度分析的基本方法。 (5)通过实验程序,分析它们的时间复杂度。 2.实验内容 (1)将1~10存入数组a[10],并将其逆序输出。 (2)用指针方式编写程序:从键盘输入10个整数数据,并存入数组,要求将10个数中最大的数与第1个输入的输交换:将10个数中最小的数和最后一个输入的数交换。(3)有5个学生,每个学生的数据包括学号、姓名3门课的成绩、平均分。 要求:从键盘依次输入5个学生的学号、姓名3门课的成绩,自动计算3门课的平均分,将5个学生的数据在屏幕上输出。 3.实验结果 (1)#include } p=a; if(*max==*(p+9)&&*min==*p) { k=*p; *p=*(p+9); *(p+9)=k; } else if(*max==*(p+9)) { k=*max;*max=*p;*p=k;k=*min;*min=*(p+9);*(9+p)=k; } else { k=*min;*min=*(p+9);*(p+9)=k;k=*max;*max=*p;*p=k; } for(p=a;p struct STUDENT { char id[10]; char name[8]; int score[3]; double ave; }stu[5]; void main() { int num=5,i,j; for(i=0;i 实验八公式、序列及函数的使用 一、实验目的 1.熟练掌握序列填充及公式复制的方法; 2.掌握常用函数的功能及使用方法,并能用它们来解决一些实际问题。 二、实验内容与操作步骤 在Excel环境下完成以下各操作: (一)序列填充及公式的使用 1.在Excel中创建一个空白工作簿 2.利用Excel提供的数据填充功能,在Sheet1工作表中输入以下数据: ⑴在区域A1:A9中从上到下填入:2,4,6,8,10,12,14,16,18 ⑵在区域B1:B9中从上到下填入:1,2,4,8,16,32,64,128,256 ⑶在区域C1:C12中从上到下填入:JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC ⑷在区域D1:D7中从上到下填入:星期日,星期一,星期二,星期三,星期四,星期五,星期六 3.在Sheet2工作表中,利用公式计算二次函数ax2+bx+c的值,其中a=2,b=3,c=5,x从-3到4变化,每隔0.5取一个函数值。操作方法写出如下: 4.把工作簿以E81.XLS为文件名存入D:\EX8中。 (二)函数的使用 在Excel环境下打开D:\EX8\E82.XLS文件,依次完成以下各操作后按E83.XLS为文件名存入D:\EX8中。 1、统计函数的使用 ⑴单击“统计函数”工作表; ⑵在区域F3:G8中用“统计函数”计算出各分店的统计值。 操作方法是:先在F3单元及G3单元输入的计算公式,然后选定区域F3:G3后双击其填充柄。其中F3单元的公式为,G3单元的公式为。 ⑶在区域B9:E12用“统计函数”计算出各季度的统计值。 2、条件函数的使用 ⑴单击“条件函数”工作表。 ⑵计算出各学生的平均分; ⑶给定各学生的成绩等级,规则如下:平均分≥90为“A”,80≤平均分<90为“B,70≤平均分<80为“C”,60≤平均分<70为“D”,平均分<60为“E”。以此规则在区域F3:F62用IF函数确定各学生的等级。 ⑷用FREQUENCY函数在区域I2:I5中统计出平均分0~59,60~79,80~99,100各分数段的学生人数。 3、文本函数的使用 ⑴单击“文本函数”工作表; ⑵在区域A2:F32给出的数据清单中,编号的前3位为系别信息,101为数学系,102为物理系,103为化学系,据此在区域B3:B32用函数求出每位教师的系别。其中B3单元使用的公式为。 ⑶已知身份证号的第7至第10位数为出生年份,据此在区域F3:F32用函数求出每位教师的出生年份。其中F3单元使用的公式为。 4、日期函数的使用 ⑴单击“日期函数”工作表; ⑵在区域A2:F32给出的数据清单中,在区域E3:E32用日期函数求出每位职工的工龄。其中E3单元使用的公式为。 ⑶在区域F3:F32用日期函数求出每位职工的工作天数(即自参加工作以来已经过的总天数。其中F3单元使用的公式为。 5、财务函数的使用 使用 PMT 函数完成以下有关的操作: ⑴单击“财务函数”工作表; ⑵某企业向银行贷款5 万元,准备4年还清,假定当前年利率为 4 % ,在 B5 单元 计算每个月应向银行偿还贷款的数额,根据条件在 B2 : B4 补充所需内容。其中单元格B5 使用的公式为。 ⑶假定当前年利率为 5 %,为使 5 年后得到 10 万元的存款,在 D5 单元计算现在开 实验8 指针 一、实验目的 1. 熟练掌握指针的定义、赋值的方法 2. 掌握间接引用运算符的使用方法 3. 掌握通过指针引用数组元素的方法 4. 掌握使用指针处理字串的方法 二、实验内容 实训1 循环输入学生某门课的成绩,将成绩存储到数组中,统计最高分和获得最高分的学生人数,最后输出统计信息。 1)在VS2013中新建项目,在项目中新建C++源文件,输入下面程序。 #include 实 验 报 告 题目:结构体实验报告:XXXXX 学号:XXXXXXXXXXXX 班级:XXXXXXXXXXXXXXXX 专业:XXXXXXXXX 成绩: 一、实验目的 掌握结构类型的定义和使用,学会使用结构数组编程解决问题。 二、实验容、要求与安排方式 1、实验容: 编程解决如下问题:谁的年龄最小、奖学金统计、猴子选大王、选票统计(二)、数星星(二),任选四道题,其中选票统计(二)、数星星(二)必选。 2、要求:能够上机编辑、调试程序并通过OJ测试。 3、实验安排方式:每组1人,独立完成上机实验; 4、注意事项:结构的嵌套定义和引用方法、用指针访问结构。 三、代码及调试结果 1.数星星代码: #include 图1 数星星调试结果 2.奖学金代码: #include 实验八结构体编程 实验目的 1.掌握结构体类型变量的定义和使用。 2.掌握结构体类型数组的概念和使用。 3.掌握结构体指针及链表的概念,初步学会对链表进行操作,学会在函数之间传送链表的方法。 4.理解共用体的概念与使用。 实验内容 1、结构体类型的变量及数组 (1)利用指向结构体的指针,遍历结构体数组,寻找第一个名字首字母是‘M’的学生,参考代码如下: 2、结构体链表 (1)建立一个创建单链表的函数 (2)在单链表中查找一个会员 定义一个函数find。该函数能在head指向的链表中,查找一个名字和s所指字符串完全一样的会员,并返回其地址。若未找到,则返回NULL。代码如下: struct CStudent * find(struct CStudent *head, char *s){ struct CStudent *p=head; while( p!=NULL && strcmp(p->name, s)!=0 ) p=p->next; return p; } 而在主调函数中可以按如下的方式来调用find函数: p=find(head, "Sun"); if(p==NULL) printf("没找到\n"); 完整的参考代码如下: (3)设计一个函数,在链表的当前节点之后插入一个节点。 该函数的功能是在链表的当前节点插入一个节点,当前节点还有要插入的数据以函数的形式参数传给函数。 函数原型 data *Insert_link((data *op_list, int value); 其中data数据类型定义如下: //Link list struct typedef struct data{ int value; struct data *next; 《结构体与链表程序设计》实验解答 1、改错题 (1) #include 云南大学软件学院数据结构实验报告 (本实验项目方案受“教育部人才培养模式创新实验区(X3108005)”项目资助)实验难度: A □ B □ C □ 学期:2010秋季学期 任课教师: 实验题目: 查找算法设计与实现 姓名: 王辉 学号: 20091120154 电子邮件: 完成提交时间: 2010 年 12 月 27 日 云南大学软件学院2010学年秋季学期 《数据结构实验》成绩考核表 学号:姓名:本人承担角色: 综合得分:(满分100分) 指导教师:年月日(注:此表在难度为C时使用,每个成员一份。) (下面的内容由学生填写,格式统一为,字体: 楷体, 行距: 固定行距18,字号: 小四,个人报告按下面每一项的百分比打分。难度A满分70分,难度B满分90分)一、【实验构思(Conceive)】(10%) 1 哈希表查找。根据全年级学生的姓名,构造一个哈希表,选择适当的哈希函数和解决冲突的方法,设计并实现插入、删除和查找算法。 熟悉各种查找算法的思想。 2、掌握查找的实现过程。 3、学会在不同情况下运用不同结构和算法求解问题。 4 把每个学生的信息放在结构体中: typedef struct //记录 { NA name; NA tel; NA add; }Record; 5 void getin(Record* a)函数依次输入学生信息 6 人名折叠处理,先将用户名进行折叠处理折叠处理后的数,用除留余数法构造哈希函数,并返回模值。并采用二次探测再散列法解决冲突。 7姓名以汉语拼音形式,待填入哈希表的人名约30个,自行设计哈希函数,用线性探测再散列法或链地址法处理冲突;在查找的过程中给出比较的次数。完成按姓名查询的操作。将初始班级的通讯录信息存入文件。 二、【实验设计(Design)】(20%) (本部分应包括:抽象数据类型的功能规格说明、主程序模块、各子程序模块的伪码说明,主程序模块与各子程序模块间的调用关系) 1抽象数据类型的功能规格说明和结构体: #include 实验八 (2018-12-12~2018-12-17) 一、实验名称: 结构体 二、实验目的: (1)掌握结构体类型的定义和使用; (2)掌握结构体类型变量的概念和使用; (3)掌握链表的概念,初步学会对链表进行操作; (4)进一步熟悉Visual C++6.0开发环境下调试程序的基本步骤。 三、实验项目(必做题) 本次实验要求同学们事先在纸介质上编好解决下面问题的源程序,然后才允许进实验室上机调试。 (1)利用顺序表实现“先进后出”的堆栈 提示:定义结构体struct来定义堆栈;采用动态数组实现顺序表;定义函数实现堆栈中元素的压入和弹出,保证“先进后出”的实现 // 结构体Stack struct Stack{ int * List; // 用来存储元素的顺序表 int curNumber; // 用来存储当前元素的总个数 }; void iniStack(Stack * A); // 初始化堆栈 void clearStack(Stack * A); //清空堆栈 void push(Stack * A, ELEMENT obj); //将元素obj压入堆栈的栈顶 void pop(Stack * A); //将当前栈顶的元素弹出栈。要求:栈不为空 ELEMENT get_top(Stack * A); //返回当前栈顶的元素值。要求:栈不为空 int is_empty(Stack * A); //判断当前堆栈是否为空,空返回1,非空返回0 void display(Stack * A); //自顶向下显示堆栈中的元素 测试实例: 向堆栈中压入:1 2 3 4 弹出次序应为:4 3 2 1 实验8 函数(一)实验目的: 1、理解自定义函数过程的定义与调用方法; 2、掌握自定义函数的定义与调用方法; 3、理解函数中的参数的作用; 实验内容: 1、编写一函数Fabonacci(n),其中参数n代表第n 次的迭代。While循环 def fib(n): if n==1 or n==2: return 1 a=1 b=1 i=2 while True: c=a+b a=b b=c i+=1 #第i次迭代,也就就是第i个数 if i==n: return c break def main(): n=input("Enter a number of generation:") print fib(n) main() 或者用for循环 def fib(n): a=1 b=1 c=0 if n==1 or n==2: return 1 else: for i in range(3,n+1): c=a+b a=b b=c return c def main(): n=input("enter n:") print fib(n) main() 2、编写一函数Prime(n),对于已知正整数n,判断该数就是否为素数,如果就是素数,返回True,否则返回 False。 def prime(n): if n<2: return False a=0 for i in range(1,n+1): if n%i==0: a+=1 if a>2: return False else: return True def main(): n=input("Enter a number:") print prime(n) main() Or: def prime(n): if n<2: return False if n==2: return True for i in range(2,n): if n%i==0: return False return True def main(): n=input("Enter a number:") print prime(n) main() 《高级语言程序设计》实验报告实验序号:8 实验项目名称:结构体 附源程序清单: 1. #include 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 实验5结构体与文件处理(上机调试运行) 1.已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中,请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(只有一个最高分)。 2.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,功能是:按照分数的高低排列学生的记录,高分在前。并将数据存入文件中。 3.给定程序的功能:从键盘输入若干行文本(每行不超过80个字符),写的文件myfile4.txt中,用-1作为字符串输入结束的标志,然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText 实现。 二.实验目的 1.掌握结构体的概念及其数据结构 2.有效应用结构体进行二维表格编程 3.掌握C语言中文件的概念及其数据结构 4.熟悉文件的读写操作 实验4 运用指针类型及函数编程练习 一.实验要求 本实验包含三个程序 1.fun函数的功能是:统计一个无符号整数中各位数字值为0的个数,通过形参传回主函数。并把该整数中各位上最大的数字值作为函数值返回。例如,若输入30800,则零的个数为3,各位上数字值最大的是8。 2.fun函数的功能:用指针的形式比较两个字符串的的长度,将长的那个字符串的首地址作为函数值返回。 3.给定函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。偶数在主函数中定义。 二.实验目的 1.掌握指针的概念及其运算 2.掌握以指针作为形参的函数调用及用函数返回一个指针 3.掌握指针与字符串之间的运算关系 实验八函数 【目的与要求】 1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。 2.了解主调函数和被调函数之间的参数传递方式。 【上机内容】 【一般示例】 【例1】将打印18个"*"组成星形线定义为一个返回值和形参列表都为空的函数,通过主函数调用它。 #include #include 实验九结构体、共用体与枚举类型 实验时间:年月日 【实验目的】 1、掌握结构体类型、共用体类型和结构体类型变量的定义方法; 2、掌握结构体类型变量成员赋值和引用方法; 3、学会使用结构体数组; 4、掌握共用体和枚举类型数据的使用。 【实验内容】 1、结构体类型的定义; 2、结构体变量的定义、赋值与使用; 3、结构体数组与结构体指针的定义与使用; 4、共用体类型的定义,共用体变量的定义与使用; 5、枚举类型的定义与使用; 6、链表与动态内存分配; 7、自定义类型的使用。 【实验步骤】 一、在E或F盘上建立以自己的学号命名的文件夹。 二、上机验证与分析题 1、写出程序ex9_1.c运行的结果。 /*文件名ex9_1.c*/ #include /*文件名ex9_2.c*/ #include "stdio.h" void main() { int z; union data { int x; int y; }a; a.x=3; a.y=6; z=a.x+a.y; printf("z=%d\n",z); } 3、阅读程序ex9_3.c,预测结果并上机验证。 /*文件名ex9_3.c*/ #include 《标准C语言程序设计》上机报告实验八结构体程序设计 专业:电子信息工程 班级:电信1301 学号:U201313480 姓名:秦行 完成日期:2014/6/9 一、实验目的: 1、掌握结构体类型的说明和结构体变量的定义; 2、掌握结构体变量成员的引用和对结构体变量的初始化; 3、掌握结构体数组及结构体指针变量的定义及使用。 4、理解并掌握结构体在函数间的传递; 5、进一步掌握复杂程序编译、连接和调试的技巧。 二、实验内容及要求(鼓励一题多解) ——以下均要求不得使用全局变量: 1 (1)、正确定义该表格内容要求的数据类型; (2)、分别输入各成员项数据,并打印输出(为简便起见,假设只有3名考生)。#include { struct student tester[N]; int i; for(i=0;i 1.学会结构体类型变量的定义和使用方法。 2.能够运用结构体数组编写程序。 3.学会结构体指针的定义使用方法。 4.能够运用结构体指针作函数参数编写程序。 二、实验环境 (调试程序所使用的软硬件环境) 软件环境:VC++6.0 硬件环境:宏基Intel 奔4 主频2.8GHz,内存256MB 三、实验内容、结果及分析 1、题目1.建立一个有n(3 cout<<"请输入第"<>loq[i].num>>loq[i].name >>loq[i].mark[0] >>loq[i].mark[1] >>loq[i].mark[2]; } for(i=0;i 淮海工学院计算机科学系实验报告书 课程名:《C语言程序设计A 》 题目:实验8 函数 ——递归函数 班级:软嵌151 学号:2015123349 姓名:陈正宁 1、实验内容或题目 (1)用递归编写n!的函数,并在main主函数中调用此函数。 (2)有n个大小不同的盘片从大到小放在A柱上,另有B和C两个空柱,要求将这n个盘片从A柱搬到C柱上,在搬动过程中,每次只能搬一个盘片,而且小的不能放在大的之下。编写hanio函数实现搬迁过程。 (3)编写一个程序,求解皇后问题:在n×n的方格棋盘上,放置n个皇后,要求每个皇后不同行、不同列、不同左右对角线。 2、实验目的与要求 (1)要求熟练掌握函数的定义和调用,熟悉函数返回值的使用。 (2)熟悉函数调用的方式和过程。 (3)重点掌握递归函数的使用。 (4)要求实验的第2题采用递归函数编写,盘片的数目在main主函数中输入。提示:函数的参数定义如hanio(n,A,C,B),表示将n个盘片从A柱通过C柱搬到B柱。 (5)要求实验的第3题采用递归函数编写皇后的个数n由用户输入,其值不能超过20;采用整数数组q[N]求解结果,因为每列只能放一个皇后,q[i]的值表示第i个皇后所在的行号,即该皇后放在(q[i],i)的位置上。求解皇后问题的递归模型如下:place(i,n):若i=n,则n个皇后放置完毕,输出解(输出q数组元素) place(k,n):在第k列找一个合适位置i,放置一个皇后(即q[k]=i);place(k+1,n);其中,place(k,n)表示前面的第1,…,k-1个皇后放置好后,现在用于放置k,…,n的皇后。 3、实验步骤与源程序 ⑴实验步骤 ⑵源代码 (1)、 #include 实验8 结构体、共用体与枚举类型 一、实验目的和要求 1.掌握枚举类型的基本使用方法。 2.掌握共用体的概念和应用。 3.掌握结构体变量及结构体数组的定义和使用。 4.掌握简单链表的基本使用方法。 二、实验内容和步骤 1.有5个学生,每个学生的数据包括学号、姓名、性别、4门课的成绩,从键盘输入5个学生的数据,要求输出4门课的平均成绩,以及平均成绩最高的学生信息(包括学号、姓名、性别、4门课的成绩、平均分数)。 同时要求用in函数输入5个学生数据;用aver函数求平均分;用max函数找出平均成绩最高的学生数据;学生的数据在out函数中输出。 2.输入和运行以下程序。 #include 实验九参考程序 实验 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 《C语言程序设计》实验报告实验序号:8 实验项目名称:结构体 【思考与扩展】 3.定义一个结构体变量(包括年、月、日)。计算某年某月某日是本年中第几天?注意闰年 附源程序清单: 1. #include e","Score1","Score2","Scoare3","Averagescore"); for(i=0;i<5;i++) printf("%-5ld%-10s%-15s%-10.3f%-10.3f%-10.3f%-20.3f%\n",stu[i].num,stu[i].name, stu[i].classname,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].averagescore); printf("平均分最高为:%.3f\n",high); } float average(float aver[3]) { float ave; ave=(aver[0]+aver[1]+aver[2])/3.0; return ave; } float h(float a[5]) { int i; float max; max=a[0]; for(i=0;i<5;i++) if(max void main() { struct worker { char name[20]; int year; int money; }wor[5]; int i; int a(int b); int allmoney[5]; for(i=0;i<5;i++) { printf("请输入第%d位职工的信息:\n",i+1); scanf("%s",wor[i].name); scanf("%d",&wor[i].year); scanf("%d",&wor[i].money); } for(i=0;i<5;i++) allmoney[i]=a(wor[i].year,wor[i].money);数组指针结构体实验报告
实验八 公式、序列及函数的使用
实验8 指针
结构体实验报告
实验练习八 结构体编程
实验九 结构体与链表程序设计(解答)
数据结构实验报告七查找、
c语言上机实验实验八
Python 实验8 函数1
C语言结构体实验报告
实验5结构体与文件处理
实验八 函数含答案
实验九结构体
C语言实验八结构体上机报告
实验09结构体实验报告
实验8 函数——递归函数
C语言实验八
C语言结构体和共用体实验报告
实验8_结构体