资源描述:
《江苏省08春上机试题莉》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2008年春)(C03)【题一】:一、改错题(20分)【程序功能】:为了测试学生对英文单词的掌握程度,以下程序在给出的五个单词中随机抽取一个单词,用“*”替换该单词中的两个随机位置上的字母并显示替换后的单词,再将被测学生输入的单词与正确单词比较,显示对错信息。提示:库函数randomize()初始化随机数生成器,库函数random(n)随机产牛•0-(n~l)之间的一个整数并返回,这两个函数的原型包含在stdlib.h中。【测试数据与运行结果】程序运行结果是
2、随机的,即每次运行结果可能不同。一次运行结果如下:显示:Thewordis:bea*tifu*,Pleaseinputcorrectword:输入:beautiful显示:Right.另一次运行结果如下:显示:Thewordis:s*ude*t,Pleaseinputcorrectword:输入:studmt显示:Wrong!Thewordis:student【含有错误的源程序】#inelude#include#include^include#incl
3、udeintfuntest(char*cp,inti){intix=0,iy=0,ik二0;charca[20]={0},cb[20]={0};strepy(ca,cp[i]);randomize();ik=strlen(ca);ix=random(ik);iy-random(ik);while(iy==ix)iy=random(ik);ca[ix]='*';ca[iy]二'*';printf("Thewordis:%s,“,ca);printf("Pleaseinputcorrectword:");gets(c
4、b);if(cb=cp[i])return1;}main(){charcs[5][20]="beautiful","student","China","function","include";inti,ik二0;randomizeO;i=random(5);ik=funtest(cs,i);if(ik)printf("Right!");elseprintf(/zWrong!Thewordis:%s",cs);getch();}【要求】1.将上述程序录入到文件myfl.c中,根据题FI要求及程序中语句之间的逻辑关系对程序中
5、的错误进行修改。2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3.改正后的源程序(文件名myfl.c)保存在T:盘根目录屮供阅卷使用,否则不予评分。【修改后的源程序】:#include#inelude〈conio.h>#ineludeSinclude#include〈time.h>intfuntest(charcp[][20],inti)(或:(*cp)[20]){intix=0,iy=0
6、,ik=0;charca[20]={0},cb[20]={0};strepy(ca,cp[i]);randomizeO;ik=strlen(ca);ix=random(ik);iy=random(ik);while(iy~ix)iy=random(ik);ca[ix]二'*';ca[iy]二'*';printf(,zThewordis:%s,",ca);printf("Pleaseinputcorrectword:");gets(cb);if(strcmp(cb,cp+i)==0)return1;main(){charcs[5]
7、[20]二{"beautiful","studcnt","China",unction","inelude"};inti,ik=0;randomize();i=random(5);ik二funtest(cs,i);if(ik)printf("Right!");elseprintf("Wrong!Thewordis:%srT,cs+i);getchO;}二、编程题(20分)【编程要求】1.编写函数intprimem(intn,intx[],longy[]),在2~n范围内查找同时符合以下条件的整数m:2m-l是素数、2m-l
8、的反序数是奇数、2T的十进制表示中包含数字1。将2~n范围内符合上述条件的所有整数m依次保存到x指向的数组中,将与m对应的整数2-1依次保存到y指向的数组中。函数返回x数组中保存的整数个数。2.编写main函数,接收键盘输入n值,调用primo_ni函数找到2〜