中国石油大学(华东)C语言在线测评答案-第12章结构体和共用体(2013级亲测正确)
更新时间:2023-05-03 18:56:01 阅读量: 实用文档 文档下载
. .
12.1 修改学生的各科成绩
给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。请在程序的下划线处填入正确的容并把下划线删除,使程序得出正确的结果。
注意:只需提交补充完整的fun函数和main函数
预设代码
/**********found**********/
void fun(___1___ *ss,float a)
{
int i;
for(i=0; i<3; i++)
/**********found**********/
ss->___2___ *=a;
}
int main( )
{
STU std={ 1,"Zhanghua",76.5,78.0,82.0 };
float a;
scanf("%f",&a);
/**********found**********/
fun(___3___,a);
show(std);
return 0;
}
/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */
#include
#include
#include
typedef struct
{
int num;
char name[9];
float score[3];
页脚
. . }STU;
void show(STU tt)
{
int i;
printf("%d %s : ",tt.num,180f812ebeeb19e8b8f67c1cfad6195f302be8d3);
for(i=0; i<3; i++)
printf("%5.1f",tt.score[i]);
printf("\n");
}
/* PRESET CODE END - NEVER TOUCH CODE ABOVE */
/**********found**********/
void fun(STU *ss,float a)
{
int i;
for(i=0; i<3; i++)
/**********found**********/
ss->score[i] *=a;
}
int main( )
{
STU std={ 1,"Zhanghua",76.5,78.0,82.0 };
float a;
scanf("%f",&a);
/**********found**********/
fun(&std,a);
页脚
. .
页脚 show(std); return 0;
}
12.2 修改学生信息
程序通过定义学生结构体变量,存储了学生的学号、和 3 门课的成绩。函数 fun 的功能是对形参 b 所指结构体变量中的数据进行修改 , 最后在主函数中输出修改后的数据。 例如 : b 所指变量 t 中的学号、、和三门课的成绩依次是 : 10002 、 "ZhangQi" 、 93 、 85 、 87 ,修改后输出 t 中的数据应为: 10004 、 " LiJie " 、 93 、 85 、 87 。
请在程序的下划线处填入正确的容并把下划线删除 , 使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
注意:只需提交补充完整的fun 函数和main 主函数
预设代码
void fun( struct student *b)
{
/**********found**********/
b__1__ = 10004;
/**********found**********/
strcpy(b__2__, "LiJie");
}
int main()
{
struct student t={10002,"ZhangQi", {93, 85, 87}};
int i;
/**********found**********/
fun(__3__);
printf("No: %ld Name: %s\nScores:",t.sno, 180f812ebeeb19e8b8f67c1cfad6195f302be8d3);
for (i=0; i<3; i++) printf("%6.2f", t.score[i]);
printf("\n");
return 0;
}
/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */
#include
#include
. .
struct student
{
long sno;
char name[10];
float score[3];
};
/* PRESET CODE END - NEVER TOUCH CODE ABOVE */
void fun( struct student *b)
{
/**********found**********/
b->sno = 10004;
/**********found**********/
strcpy(b->name, "LiJie");
}
int main()
{
struct student t={10002,"ZhangQi", {93, 85, 87}}; int i;
/**********found**********/
fun(&t);
printf("No: %ld Name: %s\nScores:",t.sno, 180f812ebeeb19e8b8f67c1cfad6195f302be8d3); for (i=0; i<3; i++) printf("%6.2f", t.score[i]); 页脚
. .
页脚 printf("\n");
return 0;
}
12.3
学生信息的排序
程序通过定义学生结构体数组,存储了若干名学生的学号、和 3 门课的成绩。函数 fun 的功能是将存放学生数据的结构体数组,按照的字典序(从小到大)排序。
请在程序的下划线处填入正确的容并把下划线删除 , 使程序得出正确的结果。 注意:只需提交补充完整的fun 函数。
预设代码
void fun(struct student a[], int n)
{
/**********found**********/
__1__ t;
int i, j;
/**********found**********/
for (i=0; i<__2__; i++)
for (j=i+1; j /**********found**********/ if (strcmp(__3__) > 0) { t = a[i]; a[i] = a[j]; a[j] = t; } } /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ #include #include struct student { . . long sno; char name[10]; float score[3]; }; /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ void fun(struct student a[], int n) { /**********found**********/ struct student t; int i, j; /**********found**********/ for (i=0; i for (j=i+1; j /**********found**********/ if (strcmp(a[i].name,a[j].name) > 0) { t = a[i]; a[i] = a[j]; a[j] = t; } } 12.4 找出指定分数围的学生 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中, 请编写函数fun,它的功能是:把指定分数围的学生数据放在h所指的数组中,分数围的学生人数由函数值返回。 例如,输入的分数是60 69, 则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。 注意:只需提交fun函数 页脚 . . STREC s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},{"GA001",96},{"GA 007",72},{"GA008",64},{"GA006",87},{"GA015",85},{"GA013",94},{"GA012",64},{ "GA014",91},{"GA011",90},{"GA017",64},{"GA018",64},{"GA016",72}}; 页脚 . . 12.5找出分数最低的学生 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中, 请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。注意: 只需提交fun函数 /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ #include #define N 16 typedef struct { char num[10]; int s; }STREC; /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ int fun(STREC s[],STREC h[]) 页脚 . . { int j,min,count=0; min=s[0].s; for(j=1;j { if(s[j].s { min=s[j].s; } } for(j=0;j { if(s[j].s==min) { h[count]=s[j]; count++; } } return count; } /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ int main() { STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},{"GA01",91},{"GA07",7页脚 . . 页脚 2},{"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); for(i=0;i printf("%s %4d\n",h[i].num,h[i].s); return 0; } /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ 12.6求平面上两点距离 编写程序,计算二维平面上两点p1和p2间的直线距离。 输入:两点的坐标值 输出:两点的距离 注意:只需提交fun 函数 /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ #include #include "math.h" typedef struct { double x,y; }POINT2D; /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ double fun(POINT2D p1,POINT2D p2) { double m=0; . . 页脚 m=(p2.x-p1.x)*(p2.x-p1.x); m+=(p2.y-p1.y)*(p2.y-p1.y); m=(double)(sqrt(m)); return m; } /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ int main() { POINT2D p1,p2; double e; scanf("%lf%lf",&p1.x,&p1.y); scanf("%lf%lf",&p2.x,&p2.y); e=fun(p1,p2); printf("%lf\n",e); return 0; } /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ 12.7加密 编写程序,按下表所示的码表将明文中指定的明码转换为暗码(其他字符不变),形成密文并输出。 输入:明文 输出:与输入相对应的密文 注意:只需提交fun 函数 /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ . . #include #define N 80 typedef struct { char real; /*明码*/ char code; /*密码*/ }ENCODE; /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ void fun(char s[],char t[],ENCODE tab[]) { int i=0,j,find; while(s[i]!='\0') { find=0; for(j=0;j<4;j++) { if(s[i]==tab[j].real) { t[i]=tab[j].code; find=1; break; } } 页脚 . . if(find==0) t[i]=s[i]; i++; } t[i]='\0'; } /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ int main() { char s[N],t[N]; ENCODE tab[]={{'a','d'},{'b','z'},{'z','a'},{'d','b'},{'\0'}}; /*定义码表,供转换时查阅*/ gets(s); fun(s,t,tab); printf("%s\n",t); return 0; } /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ 页脚
正在阅读:
中国石油大学(华东)C语言在线测评答案-第12章结构体和共用体(2013级亲测正确)05-03
智能台灯毕业论文06-20
2015国家公务员考试申论备考:轻松积累作文素材的方法01-03
现代名人励志小故事02-13
题目:渐进多焦点眼镜的验配- 教务信息网—天津职业大学07-09
小学道路交通安全工作计划范文05-01
补充课文的原文翻译和习题答案04-28
总工之家理事换届会暨高品质地产项目的构建之路 - 图文09-19
电商部推广方案11-10
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 石油大学
- 华东
- 共用
- 中国
- 测评
- 正确
- 答案
- 语言
- 结构
- 在线
- 2013
- 20吨生活污水处理方案及报价
- 2018年河南师范大学体育学院636体育专业综合之运动生理学考研冲刺狂背五套题
- 大学生网络漫画市场开发调查报告
- 2017年湖北大学资源环境学院819自然地理学考研强化模拟题
- 高中地理第三章区域产业活动3.2农业区位因素与农业地域类型(第1课时)农业区位因素学案湘教版必修2
- 高等教育自学考试社会助学管理试行办法
- 高中历史必修一全套导学案
- 成大事者也拘小节一辩稿
- 2018届九年级物理上学期第三次月考试题苏科版
- 2020年初三适应性模拟考试 数学期末试卷(含参考答案)
- 准确填报利润表“所得税费用”
- 陕西省2020年中考数学试题
- 基于JCreator的Java图形图象增强分割处理技术的实现与应用
- Vision_Library_(VLIB) ApplicationProgrammingInterfaceUserGuide
- valgrind的安装与使用(内含安装包)
- 【考前三个月】2015届高考数学(四川专用,理科)必考题型过关练:第25练(含答案)
- 市级优秀教师典型事迹材料
- 八年级下册英语阅读理解
- DAG1000&2000系列FXS语音网关用户手册
- 2018年兰州大学新闻与传播学院861新闻传播实务之传播学教程考研基础五套测试题