计算机二级c语言改错题答案

上传人:第*** 文档编号:38803508 上传时间:2018-05-08 格式:DOC 页数:27 大小:593.50KB
返回 下载 相关 举报
计算机二级c语言改错题答案_第1页
第1页 / 共27页
计算机二级c语言改错题答案_第2页
第2页 / 共27页
计算机二级c语言改错题答案_第3页
第3页 / 共27页
计算机二级c语言改错题答案_第4页
第4页 / 共27页
计算机二级c语言改错题答案_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《计算机二级c语言改错题答案》由会员分享,可在线阅读,更多相关《计算机二级c语言改错题答案(27页珍藏版)》请在金锄头文库上搜索。

1、第第 1 题题void fun (char *s, char *t) int i, sl;sl = strlen(s); /*found*/for( i=0; i 0) s = s/100;*t = s%10 * sl + *t; /*found*/ sl = sl*100; main() long s, t;printf(“nPlease enter s:“); scanf(“%ld“, fun(s, printf(“The result is: %ldn“, t); 答案:(1)void fun (long s, long *t) (2)sl = sl*10;第第 3 题题void fun

2、 ( int n, int *a ) int i, j, p, t;for ( j = 0; jai ) /*found*/t=i;if ( p!=j ) t = aj; aj = ap; ap = t; 答案:(1)for ( i=j+1; i 0) d = s%10; /*found*/if (d%2=0) *t=d* sl+ *t;sl *= 10; /*found*/s = 10; 答案:(1)if (d%2 = = 0) (2)s /= 10;第第 5 题题long fun (long num) /*found*/long k;do k*=num%10 ; /*found*/num=

3、10 ; while(num) ;return (k) ; 答案:(1)long k=1; (2)num /=10 ; 第第 6 题题/*found*/ fun (char a) if ( *a ) fun(a+1) ; /*found*/printf(“%c“ *a) ; main( ) char s10=“abcd“;printf(“处理前字符串=%sn 处理后字符串=“, s);fun(s); printf(“n“) ; 答案:(1)fun (char *a) (2)printf(“%c“, *a) ; 第第 7 题题void fun(int a, int n) int i, j, t,

4、 p;for (j = 0 ;j 0return (k*fun(k-1); /*found*/else if ( k=0 )return 1L;elsereturn 1L; 答案:(1)if ( k 0 ) (2)else if ( k= =0 ) 第第 14 题题void fun ( char str10, int m, char *pt ) /*found*/Int k, q, i ;for ( k = 0; k 0 ) (2)pti = strki ;第第 15 题题/*found*/ void fun ( int a, b ) int t; /*found*/t = b; b = a

5、; a = t; main ( ) int a, b;printf ( “Enter a , b : “); scanf ( “%d,%d“, fun ( printf (“ a = %d b = %dn “, a, b ); 答案:(1)void fun ( int *a, int *b ) (2)t = *b; *b = *a ; *a = t; 第第 16 题题void fun ( int * a, int n ) int i, m, t, k ;for(i=0;iam) k=m;t=ai;ai=am;am=t; 答案:(1)m= i ; (2)if(akam) m=k; 第第 17 题

6、题/*found*/ void fun(char str, char ch ) while ( *str /*found*/if ( *str = = ch ) str 0 = ch; /*found*/str1 = 0; main( ) char s81, c ;printf( “nPlease enter a string:n“ ); gets ( s );printf (“n Please enter the character to search : “ );c = getchar();fun(s, c) ;printf( “nThe result is %sn“, s); 答案:(1

7、)void fun(char *str, char ch ) (2)if (*str!= ch) (3)str1 = 0; 评析】(1)fun 函数中先设置了二个循环从字符串 str 中寻找字符 ch,如果找到则中断循环并保留字符 ch 的地址,否则一直循环到串尾“。因此通过判断*str 的内容即可判断是否已找到字符 ch。(2)如果没有找到字符 ch,则在 while 循环后 str 指针指向串结束符 Ox00,此时应将字符 ch 写入这里并在下一地址写入一个串结束符 Ox00,所以应该是“str1。O;“语句。(3)此句是调用 fun()函数,括弧中是其实际参数。第第 18 题题doubl

8、e fun(int n) double result=1.0;while (n1 i-) k=aM-1;for(j=M-1;j0;j-) /*found*/aaj=aj-1;a0=k;for(m=0; m=0 else if(a=b|b=c|a=c)return 2; /*found*/else retrun 1else return 0; main() int a,b,c,shape;printf(“nInput a,b,c: “); scanf(“%d%d%d“,printf(“na=%d, b=%d, c=%dn“,a,b,c);shape =fun(a,b,c);printf(“nnT

9、he shape : %dn“,shape); 答案:(1)int fun(int a,int b,int c) (2)else return 1; 第第 30 题题char fun(char c) if( c=A bi = bj; bj = ch;i+; j-;while ( *a | *b ) /*found*/If ( *a ) *c = *a; c+; a+; if ( *b ) *c = *b; c+; b+; *c = 0; 答案:(1)while ( i /*found*/ void upfst ( char p ) int k=0;for ( ; *p; p+ )if ( k

10、) if ( *p = ) k = 0; else if ( *p != ) k = 1; *p = toupper( *p ); main( ) char chrstr81;printf( “nPlease enter an English text line: “ ); gets( chrstr );printf( “nnBefore changing:n %s“, chrstr );upfst( chrstr );printf( “nAfter changing:n %sn“, chrstr ); 答案:(1)#include (2)void upfst ( char *p )第第 35

11、 题题void fun ( char *s, int num5 ) int k, i=5;for ( k = 0; k= 0)numi+; 答案:(1)numk=0; (2)switch ( *s )第第 36 题题/*found*/ void fun ( char *s, int a, int b ) while ( *s ) if ( *s = A t=t * n/(2*n+1);n+; /*found*/return(s); 答案:(1)t=1; (2)return(2*s); 第第 45 题题void fun( char *s ) int i,j;for(i=j=0; si!=0; i

12、+)if(si!=c) /*found*/sj=si; /*found*/si=0; 答案:(1)sj+=si; (2)sj=0; 第第 46 题题/*found*/ double fun(double a, dounle x0) double x1, y;x1=(x0+ a/x0)/2.0; /*found*/if( fabs(x1-xo)0.00001 )y=fun(a,x1);else y=x1;return y; main( ) double x;printf(“Enter x: “); scanf(“%lf“,printf(“The square root of %lf is %lfn“,x,fun(x,1.0); 答案:(1)double fun(double a, double x0) (2)if( fabs(x1-x0)0.00001 )第第 47 题题int fun(int *a,int n,int x) int p=0,i;an=x;while( x!=ap ) p=p+1; /*found*/if(P=n) return -1;else for(i=p;i=a printf(“出现次数最多的字符是 : %cn“, max + a); 答案:(1)bi = 0; (2)bai - a+; (3)if (bmax aij )

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 初中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号