- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言期末上机模拟考试试卷A及参考答案
《C语言程序设计》期末上机模拟试卷
(本试卷满分40分)
90分钟
参考答案
一、改错题(20分)
【程序功能】
函数void sort_count PS p, int row, int *f, int *m 对p指向的结构数组中前row个元素按gender(性别)排序 注:f(女性)在前,m(男性)在后 ,对于gender相同的那些元素再按name(姓名)的字典顺序排序;并统计p指向的结构数组前row个元素中男性、女性的人数,男性人数保存到m指向的变量中,女性人数保存到f指向的变量中。
【与运行结果】
运行结果:
beth f
july f
mary f
jhon m
tom m
male: 2 female: 3
【含有错误的源程序】
#include
#include
typedef struct char name[20], gender; PS;
void sort_count PS *p,int row, int *f,int *m PS temp; int i,j,min;
*f 0; /* 改为 *f *m 0; 或在main函数中定义male的地方将其改为 male 0; */
for i 0 ; i row-1 ; i++ min i; for j i+1 ; j row ; j++ if p[j].gender p[min].gender|| p[j].gender p[min].genderstrcmp p[j].name,p[min].name 0 min j; if i! min temp p[i]; p[i] p[min]; p[min] temp; for i 0;i row;i++ if p[i].gender m *m++; /* 改为 *m ++; */ *f row-*m; main int i,female,male; PS array[5] mary,f , tom,m , july,f , jhon,m , beth,f ; sort_count array[5],5,*female,*male ;
/*改为 sort_count array,5,female,male ; */ for i 0;i 5;i++ printf %s\t%c\n,array[i].name,array[i].gender ; /* 将%c改为%s */ printf male: %d female: %d\n,male,female ; 【要求】
将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。
将改正后的源程序文件(myf1.c)复制到“学生答卷文件夹”中。
二、编程题(20分)
)
2、 编写main函数,声明一维数组a(分子数组)和b(分母数组),并用给出的测试数据对它们初始化,用a和b作实参调用fraction 函数计算多个分数相加的结果,最后按【运行结果】所给的格式将计算结果输出到屏幕及文件myf2.out。
【测试数据】
a数组初始化数据:2 2 1 1 1
b数组初始化数据:4 6 8 10 12
【运行结果】 2/4 + 2/6 + 1/8 + 1/10 + 1/12 137/120
【要求】
源程序文件取名为myf2.c ,结果文件取名为 myf2.out
结果文件的打开、读/写、关闭均用C语言函数库中的文件操作函数实现。
将源程序文件(myf2.c)和结果文件(myf2.out)复制到“学生答卷文件夹”中。
【参考答案】
#include
int gcd int a,int b int r;
if r a%b 0 return b;
else return gcd b,r ; void fraction int numerator[],int denominator[],int n,int *r1,int *r2 int i,gcdi,num numerator[0],den denominator[0];
for i 1;i 5;i++ num num*denominator[i]+den*numerator[i]; den den*denominator[i]; gcdi gcd num,den ; num/ gcdi; den/ gcdi; *r1 num;
*r2 den; main int a[5] 2,2,1,1,1 ,b[5] 4,6,8,10,12 ,k1,k2,i;
FI
您可能关注的文档
- 昂贵的2010年公务员面试真题及答案汇总.doc
- 辽宁省丹东七中九年级物理一轮复习《第十五章功和机械能》.doc
- 辽宁省丹东市四校协作体2012届高三摸底测试(零诊)文科综合试题.doc
- 辽宁省五校2013-2014学年高一下学期期末考试物理试题Word版含答案-副本.doc
- 辽宁省五校协作体2013届高三冲刺最后一模文科综合试题Word版含答案.doc
- 辽宁省五校协作体2014届高三上学期期初考试数学(文)试题word版含答案.doc
- 辽宁省五校协作体2012届高三诊断性检测生物试题.doc
- 辽宁省五校协作体2014届高三上学期期中考试化学试题Word版含答案.doc
- copy3商务沟通方法与技能+总复习.doc
- 辽宁省五校协作体学年高二上学期期中考试数学理试题.doc
文档评论(0)