欢迎来到天天文库
浏览记录
ID:5939242
大小:42.50 KB
页数:5页
时间:2017-12-29
《第七届全国信息技术应用水平大赛预赛c 语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第七届全国信息技术应用水平大赛预赛主观试题C语言程序设计请仔细阅读并严格遵守题目中关于文件命名和保存的要求。考生答题完毕后,首先创建以“准考证号_用户名”命名的文件夹(形式如:433034683_xxxx),将考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根目录下。请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不得包含本试题文件和试题素材。然后选中整个文件夹,用Winrar压缩工具打包后存放在本考场指定的考试结果存
2、放地址,经监考老师确认上传无误后方可离开考场。注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建的433034683_xxxx文件夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保存在本地计算机中。注意:凡违反上述规定的考生,其成绩一律按零分处理。注意:主观题考试结果的上传方式可以采用大赛组委会提供的局域网提交系统,也可以采用学校自己的机房管理系统,但需要注意分科目保存考试结果。重要提示:1、由于时间有限,请考生首先保证编写的程序可以编译通过并执行,在此基础上完成考题要求的全部功能,以免因编译
3、不通过影响考生的考试成绩。2、只能使用C语言提供的标准库。3、请将程序填充题答案填写在提供的“程序填充题答题纸.doc”文档中。程序填充题(6题,5分/题,共30分)1、下列代码欲实现将一个二进制字符串转换为整数。请填写缺少的语句:char*p="1010110001100";intn=0;for(inti=0;i4、多少个不同的排列。请补充缺少的代码。intf(intm,intn){if(m==05、6、n==0)return1;return;}【分数】5分3、下列代码是把一个缓冲区中的整数重新排列,使得所有负数都在正数的左边。请分析其工作流程,补充缺失的代码。voidreorder(int*pData,intlen){if(pData==NULL7、8、len==0)return;int*pBegin=pData;int*pEnd=①;while(pBegin=0){9、pEnd;③;}inttemp=*pBegin;*pBegin=*pEnd;*pEnd=temp;}intmain(intargc,char**argv){inta[]={1,2,3,5,4,5,9,8,1};reorder(a,9);for(inti=0;i<9;i++)printf("%d",a[i]);printf("");return0;}【分数】5分4、下列程序可以求出1~299中能被3整除,且至少有一位数字为5的所有整数,并将结果写到文件d:result.txt中。请补充缺失的代码。#include10、>intIsDivBy5(intm){inti;for(i=0;i<3;i++){if(m%10==5)return1;①;}return0;}voidmain(){inti;FILE*fp;if((fp=②)==NULL){printf("openfileerror");exit(0);}for(i=0;i<300;i++){if(③)fprintf(fp,"%d",i);}fclose(fp);}【分数】5分5、某抽奖活动的规则是:每位参与者在纸上写下一个8位数的号码,最后通过摇奖的办法随机产生一个8位数字,参与者写下的数字11、中最多有多少个连续位与开奖号码相同,则称为中了几个号。例如:某参与者写的数字是:12345678,而开奖号是:42347856,则称中了3个号,因为其中最长的相同连续位是“234”。如果写的是:87654321,则中了一个号。请按此规则完善下面的程序。intg(inta,intb){charsa[]="00000000";charsb[]="00000000";intn=0;inti,j;sprintf(sa,"%8d",a);sprintf(sb,"%8d",b);for(i=0;i<8;i++){for(j=1;j<=8i;j+12、+){chart=①;sa[i+j]=0;if(strstr(sb,sa+i)){if(j>n)②;}sa[i+j]=t;}}returnn;}【分数】5分6、某比赛采用5分制一局,现有甲和乙的比赛,对甲而言W代表得一分,L代表输一分
4、多少个不同的排列。请补充缺少的代码。intf(intm,intn){if(m==0
5、
6、n==0)return1;return;}【分数】5分3、下列代码是把一个缓冲区中的整数重新排列,使得所有负数都在正数的左边。请分析其工作流程,补充缺失的代码。voidreorder(int*pData,intlen){if(pData==NULL
7、
8、len==0)return;int*pBegin=pData;int*pEnd=①;while(pBegin=0){
9、pEnd;③;}inttemp=*pBegin;*pBegin=*pEnd;*pEnd=temp;}intmain(intargc,char**argv){inta[]={1,2,3,5,4,5,9,8,1};reorder(a,9);for(inti=0;i<9;i++)printf("%d",a[i]);printf("");return0;}【分数】5分4、下列程序可以求出1~299中能被3整除,且至少有一位数字为5的所有整数,并将结果写到文件d:result.txt中。请补充缺失的代码。#include10、>intIsDivBy5(intm){inti;for(i=0;i<3;i++){if(m%10==5)return1;①;}return0;}voidmain(){inti;FILE*fp;if((fp=②)==NULL){printf("openfileerror");exit(0);}for(i=0;i<300;i++){if(③)fprintf(fp,"%d",i);}fclose(fp);}【分数】5分5、某抽奖活动的规则是:每位参与者在纸上写下一个8位数的号码,最后通过摇奖的办法随机产生一个8位数字,参与者写下的数字11、中最多有多少个连续位与开奖号码相同,则称为中了几个号。例如:某参与者写的数字是:12345678,而开奖号是:42347856,则称中了3个号,因为其中最长的相同连续位是“234”。如果写的是:87654321,则中了一个号。请按此规则完善下面的程序。intg(inta,intb){charsa[]="00000000";charsb[]="00000000";intn=0;inti,j;sprintf(sa,"%8d",a);sprintf(sb,"%8d",b);for(i=0;i<8;i++){for(j=1;j<=8i;j+12、+){chart=①;sa[i+j]=0;if(strstr(sb,sa+i)){if(j>n)②;}sa[i+j]=t;}}returnn;}【分数】5分6、某比赛采用5分制一局,现有甲和乙的比赛,对甲而言W代表得一分,L代表输一分
10、>intIsDivBy5(intm){inti;for(i=0;i<3;i++){if(m%10==5)return1;①;}return0;}voidmain(){inti;FILE*fp;if((fp=②)==NULL){printf("openfileerror");exit(0);}for(i=0;i<300;i++){if(③)fprintf(fp,"%d",i);}fclose(fp);}【分数】5分5、某抽奖活动的规则是:每位参与者在纸上写下一个8位数的号码,最后通过摇奖的办法随机产生一个8位数字,参与者写下的数字
11、中最多有多少个连续位与开奖号码相同,则称为中了几个号。例如:某参与者写的数字是:12345678,而开奖号是:42347856,则称中了3个号,因为其中最长的相同连续位是“234”。如果写的是:87654321,则中了一个号。请按此规则完善下面的程序。intg(inta,intb){charsa[]="00000000";charsb[]="00000000";intn=0;inti,j;sprintf(sa,"%8d",a);sprintf(sb,"%8d",b);for(i=0;i<8;i++){for(j=1;j<=8i;j+
12、+){chart=①;sa[i+j]=0;if(strstr(sb,sa+i)){if(j>n)②;}sa[i+j]=t;}}returnn;}【分数】5分6、某比赛采用5分制一局,现有甲和乙的比赛,对甲而言W代表得一分,L代表输一分
此文档下载收益归作者所有