资源描述:
《2011秋上机题_c02》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2011秋上机题_C02江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2011秋)二级C语言(试卷代号C02)(本试卷完成时间70分钟)一、改错题【程序功能】核对密码。首先在用户输入的表示密码的字符串中,找到ASCII编码值最大的字符并在其后插入子串"ve";然后再用加工后的密码字符串与程序内设置的密码作对比,若相同则输出“right”及用户输入的密码;若不相同则提示用户重新输入密码。用户三次输入的密码均不正确时终止程序的运行。【测试数据与运行结果】输入:love屏幕输出:wrong!youhave2chances!输入:lo屏幕输出:righ
2、t!yourpasswordid:lo【含有错误的源程序】#include#include#includevoidinsert(charstr[]);voidmain(){charstr1[80],str2[80],password[80]="love";inti;for(i=0;i<3;i++){printf("pleaseinputpassword:");gets(str1);strcpy(str2,str1);insert(str2);if(strcmp(password,str2)=0){print
3、f("right!");break;}elseprintf("wrong!youhave2chances!");}getch();}voidinsert(charstr[]){charmax;inti,j=0;max=str[0];for(i=1;str[i]!=' ';i++)if(str[i]>max){max=str[i];j=i;第4页共4页2011秋上机题_C02}for(i=strlen(str);i>=j;i--)str[i+2]=str[i];str[i+1]=v,str[i+2]=e;}【要求】1.将上述程序录入到文件myfl.c中,根据题目
4、要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2.改正后的源程序(文件名myfl.c)保存在T:盘的根目录中供阅卷使用,否则不予评分。二、填空题以下程序完成两个长正整数的加法运算并输出计算结果。函数add模拟手工加法运算的过程,将a和b指向的数组中存储的两个以字符串形式表示的n位正整数相加,并将运算结果以字符串形式保存到c指向的数组中。main函数中pl和p2数组分别存放被加数字符串和加数字符串,p3数组存放运算结果字符串。若p1中的字符串为"1000000001"、p2中的字符串为"9000000009",调用add函数后p3得到的是以字符串表示的这两个整数相
5、加的结果"10000000010"。试完善程序以达到要求的功能。#include"stdio.h"#include"string.h"voidadd(chara[],charb[],charc[],__(1)____){inti,k;c[n]=' ';k=0;for(i=n-1;i>=0;i--){c[i]=(a[i]-'0')+(b[i]-'0')+k;k=______(2)______;c[i]=c[i]%10+'0';}if(k){for(i=n+1;i>0;i--)c[i]=___(3)____;c[i]=k+'0';}}voidmain(){charp1[8
6、0]="1000000001",p2[80]="9000000009",p3[80];inti,x=strlen(p1),y=strlen(p2);if(x=0;i--){p1[i+y-x]=p1[i];p1[i]='0';}_____(4)______;}if(x>y)for(i=y;i>=0;i--){p2[i+x-y]=p2[i];p2[i]='0';}第4页共4页2011秋上机题_C02add(p1,p2,p3,x);puts(p3);}三、编程题【程序功能】将一个n阶方阵(n为偶数)分为四个n/2阶子方阵,然后将4个子方阵按顺时钟方
7、向轮转一次。如下图所示。123456192021123789101112252627789131415161718313233131415顺时钟轮转一次192021222324222324456252527282930282930101112313233343536343536161718【编程要求】1.编写函数voidcycle(inta[][10],intm)。函数功能:将a指向的数组中存储的n阶方阵分成四个方阵(如上图所示),对矩阵做一次顺时钟轮转操作,轮转后的n阶方阵仍保存在a指向的数组中。2、编写main()。函数功能:声明一个