欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机技能改错易.docx

    • 资源ID:9374583       资源大小:17.92KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机技能改错易.docx

    1、计算机技能改错易计算机技能改错(易)2011-02-09 19:53试卷编号:8539所属语言:大学计算机基础试卷方案:程序改错易试卷总分:300分共有题型:1种一、程序改错 共10题 (共计300分)第1题 (30.0分) 题号:4/*- 【程序改错】-功能:在一个已按升序排列的数组中插入一个数,插入后,数 组元素仍按升序排列。-*/#define N 11main() int i,j,t,number,aN=1,2,4,6,8,9,12,15,149,156; printf(please enter an integer to insert in the array:n); /*FOUND

    2、*/ scanf(%d,&number) printf(The original array:n); for(i=0;i=0;i-) if(number=ai) /*FOUND*/ ai=ai-1; else ai+1=number; /*FOUND*/ exit; if(numbera0) a0=number; printf(The result array:n); for(i=0;i=0;i-) 或 for(i=N-2;0=i;i-) 3). a i + 1 =ai; 4). break;第2题 (30.0分) 题号:255/*- 【程序改错】-功能:以下程序把两个数按由大到小的顺序输出来

    3、.-*/*FOUND*/swap( int *p1,*p2) int p; p=*p1; *p1=*p2; *p2=p;main( ) int a,b, *p,*q; printf(input a,b:); /*FOUND*/ scanf(%d%d,a,b); p=&a; q=&b; if(ab) swap(p,q); printf(a=%d,b=%dn,a,b); /*FOUND*/ printf(max=%d,min=%dn,p,q);答案: 1). swap( int *p1,int *p2) 或 void swap( int *p1,int *p2) 2). scanf(%d%d,&a

    4、,&b); 3). printf(max=%d,min=%dn,*p1,*p2); 或 printf(max=%d,min=%dn,a,b);第3题 (30.0分) 题号:370/*- 【程序改错】-功能:将s所指字符串中出现的、t1所指子串全部替换成t2所指 子字符串,所形成的新串放在w所指的数组中。在此处, 要求t1和t2所指字符串的长度相同。例如:当s所指字符串中的内容为:abcdabfab,t1所指子串中 的内容为:ab,t2所指子串中的内容为:99时,结果 在w所指的数组中的内容应为:99cd99f99。-*/#include #include #include int fun (c

    5、har *s, char *t1, char *t2 , char *w) int i; char *p , *r, *a; strcpy( w, s ); while ( *w ) p = w; r = t1; /*FOUND*/ while ( r ) if ( *r = *p ) r+; p+; else break; /*FOUND*/ if ( *r = 0 ) a = w; r = t2; /*FOUND*/ while ( *a ) *a = *r; a+; r+; w += strlen(t2) ; else w+; main() char s100, t1100, t2100

    6、, w100; clrscr(); printf(nPlease enter string S:); scanf(%s, s); printf(nPlease enter substring t1:); scanf(%s, t1); printf(nPlease enter substring t2:); scanf(%s, t2); if ( strlen(t1)=strlen(t2) ) fun( s, t1, t2, w); printf(nThe result is : %sn, w); else printf(Error : strlen(t1) != strlen(t2)n);答案

    7、: 1). while(*r) 2). if ( *r = 0 ) 3). while ( *r )第4题 (30.0分) 题号:402/*- 【程序改错】-功能:编写函数fun求20以内所有5的倍数之积。-*/#define N 20#include stdio.hmain() int sum; sum=fun(5); printf(%d以内所有%d的倍数之积为: %dn,N,5,sum); getch(); int fun(int m) /*FOUND*/ int s=0,i; for(i=1;iN;i+) /*FOUND*/ if(i%m=0) /*FOUND*/ s=*i; retur

    8、n s; 答案: 1). int s=1 , i ; 2). if(i%m=0) 3). s=s*i 或 s=i*s 或 s*=i第5题 (30.0分) 题号:448/*- 【程序改错】-功能:编写函数fun计算下列分段函数的值: x*20 x0且x-3 f(x)= sin(x) 0x10且x2及x3 x*x+x-1 其它-*/#include #include stdio.hfloat fun(float x) /*FOUND*/ float y /*FOUND*/ if (x=0 & x10.0 & x!=2.0 & x!=3.0) y=sin(x); else y=x*x+x-1; /*

    9、FOUND*/ return x;main() float x,f; printf(Input x=); scanf(%f,&x); f=fun(x); printf(x=%f,f(x)=%fn,x,f); getch(); 答案: 1). float y; 2). if (x0 & x!=-3.0) 3). return y;第6题 (30.0分) 题号:9/*- 【程序改错】-功能:将一个字符串中的大写字母转换成小写字母。例如:输入aSdFG输出为asdfg。-*/#include/*FOUND*/bool fun(char *c) if(*c=A)*c-=A-a; /*FOUND*/ f

    10、un= c;main() /*FOUND*/ char s81,p=s; gets(s); while(*p) *p=fun(p); /*FOUND*/ puts(*p); p+; putchar(n);答案: 1). char fun(char *c) 2). return *c; 或 return (*c); 或 return(*c); 3). char s81,*p=s; 4). putchar(*p); 或 printf(%c,*p);第7题 (30.0分) 题号:253/*- 【程序改错】-功能:输入10个数,要求输出这10个数的平均值-*/float average(float a

    11、rray10) int i; float aver,sum=array0; /*FOUND*/ for(i=0;i10;i+) sum=sum+arrayi; aver=sum/10.0; return(aver);main( ) /*FOUND*/ int score10,aver ; int i; printf(input 10 scores:n); for(i=0;i10;i+) /*FOUND*/ scanf(%f, score); printf(n); /*FOUND*/ aver=average(score10); printf(average score is %5.2f,ave

    12、r);答案: 1). for(i=1;i10;i+) 或 for(i=1;i=9;i+) 2). float score10,aver; 或 float aver,score10; 3). scanf(%f, &scorei); 或 scanf(%f, score+i); 4). aver=average(score);第8题 (30.0分) 题号:386/*- 【程序改错】-功能:分别统计输入的字符串中各元音字母(即:A、E、I、O、U) 的个数。注意:字母不分大、小写。例如:若输入:THIs is a boot,则输出应该是:1、0、2、2、0。-*/#include #include f

    13、un ( char *s, int num5 ) int k, i=5; for ( k = 0; ki; k+ ) /*FOUND*/ numi=0; for (; *s; s+) i = -1; /*FOUND*/ switch ( s ) case a: case A: i=0; break; case e: case E: i=1; break; case i: case I: i=2; break; case o: case O: i=3; break; case u: case U: i=4; break; /*FOUND*/ if (i 0) numi+; main( ) cha

    14、r s181; int num15, i; clrscr(); printf( nPlease enter a string: ); gets( s1 ); fun ( s1, num1 ); for ( i=0; i = 0)第9题 (30.0分) 题号:381/*- 【程序改错】-功能:读入一个英文文本行,将其中每个单词的第一个字母改成 大写,然后输出此文本行 (这里的“单词”是指由空格 隔开的字符串)。例如:若输入:“I am a student to take the examination.”, 则应输出:“I Am A Student To Take The Examination

    15、.”。-*/#include #include #include /*FOUND*/upfst ( char p ) int k=0; /*FOUND*/ for ( ; p; p+ ) if ( k ) if ( *p = ) k = 0; /*FOUND*/ else if ( *p = ) k = 1; *p = toupper( *p ); main( ) char chrstr81; clrscr(); printf( nPlease enter an English text line: ); gets( chrstr ); printf( nnBefore changing:n

    16、%s, chrstr ); upfst( chrstr ); printf( nAfter changing:n %sn, chrstr );答案: 1). upfst(char *p) 2). for ( ; *p; p+ ) 3). else if ( *p != )第10题 (30.0分) 题号:431/*- 【程序改错】-功能:编写input()和output()函数输入,输出5个学生的数据记录。-*/#include stdio.h#define N 5struct student char num6; char name8; int score4; stuN;input(stu)s

    17、truct student stu; /*FOUND*/ int i;j; for(i=0;iN;i+) printf(n please input %d of %dn,i+1,N); printf(num: ); scanf(%s,&stui.num); printf(name: ); scanf(%s,stui.name); for(j=0;j3;j+) /*FOUND*/ printf(score %d.,j); scanf(%d,&stui.scorej); printf(n); print(stu)struct student stu; int i,j; printf(nNo. Name Sco1 Sco2 Sco3n); /*FOUND*/ for(i=0;i=N;i+) printf(%-6s%-10s,stui.num,stui.name); for(j=0;j3;j+) printf(%-8d,stui.scorej); printf(n); main() input(); print(); getch();答案: 1). int i , j ; 2). printf(score %d., j + 1 ); 3). for(i=0;iN;i+)


    注意事项

    本文(计算机技能改错易.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开