全国计算机二级C语言程序改错题(-100%全中必过)(共86页).doc
《全国计算机二级C语言程序改错题(-100%全中必过)(共86页).doc》由会员分享,可在线阅读,更多相关《全国计算机二级C语言程序改错题(-100%全中必过)(共86页).doc(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目录题目一前N项和问题下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。和值通过函数值返回。例如,若n5,则应输出8.。请改正程序中的错误,使其得出正确的结果。#include /*found*/void fun ( int n ) int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k = n; k+ ) /*found*/ s = s + (Double)a / b; c = a; a = a + b; b = c; return s;main( ) int n = 5;prin
2、tf( nThe value of function is: %lfn, fun ( n ) );(1)double fun(int n)(2)s=s+(double)a/b;题目二SS字符串问题2.下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。请改正程序中的错误,使它能得出正确的结果。#include int fun (char *str,char *substr) int i,j,k,num=0;/*found*/ for(i = 0, stri, i+) for(j=i,
3、k=0;substrk=strj;k+,j+)/*found*/ If(substrk+1=0) num+; break; return num;main() char str80,substr80; printf(Input a string:) ; gets(str); printf(Input a substring:) ; gets(substr); printf(%dn,fun(str,substr);(1)for(i=0;stri;i+)(2)if(substrk+1= 0)题目三 变量互换问题12. 下列给定程序中函数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达
4、式。例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。请改正程序中的错误,使它得出正确的结果。 #include int fun(int *x,int y) int t ;/*found*/ t = x ; x = y ;/*found*/ return(y) ;main() int a = 3, b = 8 ; printf(%d %dn, a, b) ; b = fun(&a, b) ; printf(%d %dn, a, b) ;(1)t = *x ; *x = y ;(2)return(t) ;或return t;题目三 变量互换问题21. 下列给定程序中
5、,函数fun的功能是:实现两个整数的交换。例如,给a和b分别输入60和65,输出为:a65 b60。#include #include #include /*found*/void fun(int a,b) int t;/*found*/ t=b;b=a;a=t;void main()int a,b; system(CLS); printf(Enter a, b: ); scanf(%d%d,&a,&b); fun(&a, &b); printf(a=%d b=%dn , a,b);(1)void fun(int *a,int *b)(2)t=*b; *b=*a; *a=t;题目三 变量互换问
6、题32. 下列给定程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。#include /*found*/void fun(int x,int y) int t;/*found*/ t=x;x=y;y=t;void main() int a,b; a=8; b=3; fun(&a, &b); printf(%d %dn , a,b);(1)void fun(int *x, int *y)(2)t=*x; *x=*y; *y=t;题目四 最大公约数问题2. 下列给定程序中函数fun的功能是:求两个非零正整数
7、的最大公约数,并作为函数值返回。例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。#include int fun(int a,int b) int r,t; if(ab) /*found*/ t=a; b=a; a=t; r=a%b; while(r!=0) a=b; b=r; r=a%b; /*found*/ return(a);main() int num1, num2,a; printf(Input num1 num2: ); scanf(%d%d,&num1,&num2); printf(num1= %
8、d num2= %dnn,num1,num2); a=fun(num1,num2); printf(The maximun common divisor is %dnn,a);(1)t=a;a=b;b=t;(2)return(b);或return b;题目五 长数变短数12. 下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为时,t中的数为7531。#include void fun (long s, long *t) int d; long sl=1;/*found*/ t = 0; while ( s
9、 0) d = s%10;/*found*/ if (d%2 = 0) *t = d * sl + *t;sl *= 10; s /= 10; main() long s, t; printf(nPlease enter s:); scanf(%ld, &s); fun(s, &t); printf(The result is: %ldn, t);(1)*t=0;(2)if(d%2!=0)或if(d%2=1)题目五 长数变短数22.下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为时,t中的数:8642。
10、#include void fun (long s, long *t) int d; long sl=1; *t = 0; while ( s 0) d = s%10;/*found*/ if (d%2=0) *t=d* sl+ *t; sl *= 10; /*found*/ s = 10; main() long s, t; printf(nPlease enter s:); scanf(%ld, &s); fun(s, &t); printf(The result is: %ldn, t);(1)if(d%2=0)(2)s/=10;题目五 长数变短数32.下列下列给定程序中,函数fun的功
11、能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为时,t中的数为7531。#include /*found*/void fun (long s, long t) long sl=10; *t = s % 10; while ( s 0) s = s/100; *t = s%10 * sl + *t;/*found*/sl = sl*100; main() long s, t; printf(nPlease enter s:); scanf(%ld, &s); fun(s, &t); printf(The result is
12、: %ldn, t);(1)void fun(long s,long *t)(2)sl=sl*10;题目五 长数变短数42. 下列给定程序中函数fun的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为时,t中的数为642。#include /*found*/void fun (long s, long t) long sl=10; s /= 10; *t = s % 10;/*found*/ while ( s 0)题目五 长数变短数51. 下列给定程序中,函数fun的功能是:将字符串s中位于奇数位置的字符或ASCII码
13、值为偶数的字符依次放入字 符串t中。例如,字符串中的数据为AABBCCDDEEFF,则输出应当是ABBCDDEFF。#include #include #include #include #define N 80void fun(char *s, char t) int i, j=0; for(i=0; i(int)strlen(s);i+)/*found*/ if(i%2 & si%2=0) tj+=si ;/*found*/ ti=0;void main() char sN, tN; system(CLS); printf(nPlease enter string s :); gets(s
14、); fun(s,t); printf(nThe result is :%sn,t);(1)if(i%2|si%2=0) 或 if(i%2 !=0 | si%2=0) (2)tj=0; 或 tj=0;题目五 长数变短数61. 下列给定程序中,函数fun的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。#include #include #include void fun(char *s)int i,j; for(i=0,j=0; si!= 0; i+) if(si= 0&si= 9)/*found*/ sj=si;/*found*/ sj=”0”;void main()
15、char item80; system(CLS); printf(nEnter a string: );gets(item); printf(nnThe string is:%sn,item); fun(item); printf(nnThe string of changing is :%sn,item);(1)sj+=si;(2)sj= 0;题目五 长数变短数72. 下列给定程序中,函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。#include long fun(int x, int y, long *p) int i; long
16、 t=1;/*found*/ for(i=1;iy;i+) t=t*x; *p=t;/*found*/ t=t/1000; return t;void main() long t, r; int x, y; printf(nInput x and y: ); scanf(%1d%1d,&x,&y); t=fun(x,y,&r); printf(nnx=%d, y=%d,r=%ld, last=%ldnn ,x, y, r,t);(1)for(i=1;i=y;i+)(2)t=t%1000;题目五 长数变短数82. 给定程序MODI1.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 语言 程序 改错 100 全中必 86
限制150内