首页 上机实验13 结构体及其它答案

上机实验13 结构体及其它答案

举报
开通vip

上机实验13 结构体及其它答案上机实验十三 结构体及其它 一.实验目的 1. 掌握结构类型的定义、结构变量的定义和初始化,结构成员变量的引用。 2. 掌握结构数组的定义和使用方法。 3. 掌握结构指针的定义和使用方法。 4. 简单掌握动态存储分配函数malloc; 5. 简单掌握枚举类型enum; 6. 简单掌握移位运算。 二.实验内容   【实验题1】程序填空:定义一个关于平面点的结构类型,并定义一个含5个元素的结构数组,用于存放5个平面点;然后输入这些点的坐标值,并统计位于半径为3、以原点为圆心的圆之内的点的个数。 # include...

上机实验13 结构体及其它答案
上机实验十三 结构体及其它 一.实验目的 1. 掌握结构类型的定义、结构变量的定义和初始化,结构成员变量的引用。 2. 掌握结构数组的定义和使用方法。 3. 掌握结构指针的定义和使用方法。 4. 简单掌握动态存储分配函数malloc; 5. 简单掌握枚举类型enum; 6. 简单掌握移位运算。 二.实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容    【实验题1】程序填空:定义一个关于平面点的结构类型,并定义一个含5个元素的结构数组,用于存放5个平面点;然后输入这些点的坐标值,并统计位于半径为3、以原点为圆心的圆之内的点的个数。 # include struct point{ //定义结构类型 struct point double a,b ; }; void main () { int i, num=0; struct point p[5]; //定义结构数组p printf("Input 5 points: \n"); for( i=0; i< 5; i++) scanf("%lf%lf", _&p[i].a_ ___ , _ &p[i].b_ _____); //输入5个点的坐标 for( i=0; i< 5; i++) //统计位于指定圆内的点的个数 if( p[i].a_ * p[i].a_ + p[i].b* p[i].b < 9) num++; printf(" num= %d \n", num); } 运行程序,输入 1.0 2.1 -3 4.23 9.0 -8 4.5 -1 -0.25 -1.3 输出num= 【实验题2】程序填空:结构类型struct score 包含一名学生的3门学科成绩和个人平均成绩,要求输入某位学生的三门课程成绩,并计算其平均成绩。 (1) 用普通的结构变量 #include struct score{ //定义结构类型 int math; //数学成绩 int phys; //物理成绩 int chem; //化学成绩 float aver; //平均成绩 }; void main() { struct score s; //定义结构变量s scanf(“%d%d%d”,& s.math , &s.phys , &s.chem ); //输入s的前三个成员(三科成绩) s.aver = ( s.math+ s.phys + s.chem )/3.0 ; //计算s的平均成绩分量 printf("aver:%.2f\n”, s.aver ); //输出s的平均成绩分量 } (2) 用结构指针 #include struct score{ //定义结构类型 int math; //数学成绩 int phys; //物理成绩 int chem; //化学成绩 float aver; //平均成绩 }; void main() { struct score s, *p; //定义结构变量s和结构指针p p= &s ; //令p指向s scanf(“%d%d%d”, &p->math , &p->phys , &p->chem ); //输入p的前三个分量(三科成绩) p->aver = (p->math+ p->phys + p->chem )/3 ; //计算p的平均成绩分量 printf("aver:%.2f\n”, p->aver ); //输出p的平均成绩分量 } 【实验题3】程序改错: 要求输入3名学生的学号、姓名和成绩,将这3名学生按成绩的降序排序后输出。源程序中的带/****/标记的语句行存在错误,请更正。 #include struct student{ //定义结构类型 int num; //学号 char name[20]; //姓名 float score; //成绩 }; void main() { int i,j; struct student s[3], temp; /****************/ printf("Input information of 3 students:\n"); for(i=0; i<3; i++) scanf("%d%s%f", &s[i].num, s[i].name, &s[i].score); /****************/ for(i=2; i>0; i--) for(j=0; j struct STUDENT{ char name[16]; int math; int english; int computer; int average; }; void GetAverage(struct STUDENT *pst) /* 计算平均成绩 */ { int sum=0; sum = pst-> math + pst-> english+ pst-> computer; pst->average = sum/3; } void main() { int i; struct STUDENT st[4]={{"Jessica",98,95,90},{"Mike",80,80,90}, {"Linda",87,76,70},{"Peter",90,100,99}}; for(i=0;i<4;i++) { GetAverage(____&st[i]_____); } printf("Name\tMath\tEnglish\tCompu\tAverage\n"); for(i=0;i<4;i++) { printf("%s\t%d\t%d\t%d\t%d\n",st[i].name,st[i].math,st[i].english, st[i].computer,st[i].average); } } 【实验题5】了解malloc函数(P296)。该程序功能:输入n以及小于n个字符的字符串,将字符串中所有小写字母改为相应的大写字母后,输出该字符串。 #include #include #include void main() { int n,i; /***** 1 *****/ char *str; scanf("%d\n",&n); str=(char*)malloc(n);//malloc函数返回分配n个长度的内存的首地址,所以str应为指针类型。 gets(str); /***** 2 *****/ for(i=0;i='a'&& str[i]<='z') str[i]=str[i]-('a'-'A'); puts(str); } 【实验题6】了解枚举类型(P312)。该程序功能:调用函数f,求a数组中最大值与b 数组中最小值之差。 #include enum FLAG {positive=1,negative=-1}; float f(float *x,int n,enum FLAG flag) { float y; int i; y=x[0]; for(i=1;iflag*y) y=x[i]; return y; } void main() { float a[6]={3,5,9,4,2.5,1},b[5]={3,-2,6,9,1}; printf("%.2f\n",f(a,6,positive)- _f(b,5,negative)___ ); } 【实验题7】了解移位运算(P319)该程序功能:将一个char型数的高4位和低4位分离,分别输出,如22(二进制:00010110)输出为1和6。 #include void main() { char a,b1,b2,c; scanf("%d",&a); /****** 1 ******/ b1=a>>4; /*b1存放高4位*/ c=~(~0<<4); /****** 2 ******/ b2=a&c; /*b2存放低4位*/ printf("%d,%d",b1,b2); } 101 Mike 78 102 Jane 95 103 Zuma 67
本文档为【上机实验13 结构体及其它答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_117984
暂无简介~
格式:doc
大小:57KB
软件:Word
页数:0
分类:计算机考试
上传时间:2018-09-05
浏览量:24