发布时间 : 星期日 文章2012计算机二级题库更新完毕开始阅读
赛德最新预测题库
int m ;
printf( \ scanf( \
printf( \}
23、给定程序MODI1.C中 fun 函数的功能是:分别统计字符串中大写字母和小写字母的个数。
例如, 给字符串 s 输入:AAaaBBb123CCccccd,则应输出结果:upper = 6, lower = 8。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include
/**********found**********/ void fun ( char *s, int a, int b ) {
while ( *s )
{ if ( *s >= 'A' && *s <= 'Z' ) /**********found**********/ *a=a+1 ;
if ( *s >= 'a' && *s <= 'z' ) /**********found**********/ *b=b+1; s++; } }
main( )
{ char s[100]; int upper = 0, lower = 0 ; printf( \ \ gets ( s ); fun ( s, & upper, &lower );
printf( \ lower = %d\\n\}
24、给定程序MODI1.C中 fun 函数的功能是:求 s = aa… aa - ... - aaa - aa - a
(此处 aa? aa 表示 n 个 a, a 和 n 的值在 1 至 9 之间) 例如 a = 3, n = 6, 则以上表达式为: s = 333333 - 33333 - 3333 - 333 - 33 - 3 其值是:296298
a 和 n 是 fun 函数的形参,表达式的值作为函数值传回 main函数。 请改正程序中的错误,使它能计算出正确的结果。
注意: 不要改动 main 函数,不得增行或删行,也不得更改程序的结构!
#include
/**************found**************/ long s = 0, t = 1 ; for ( j = 0 ; j < n ; j++) t = t * 10 + a ; s = t ;
for ( j = 1 ; j < n ; j++) {
/**************found**************/ t = t % 10 ; s = s - t ; }
return(s) ; }
main( )
{ int a, n ;
printf( \ scanf( \
printf( \ function is: %ld\\n\}
25、给定程序MODI1.C中 fun 函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如, 若输入
\, 则应输出 \。 请修改程序中的错误之处, 使它能得出正确的结果。
注意: 不要改动 main 函数, 不得删行, 也不得更改程序的结构! #include
int k = 0;
for( ; *p; p++ ) if( k ) {
/**********found***********/ if( p == ' ' ) {
k = 0;
/**********found***********/
* (p-1) = toupper( *( p - 1 ) ) } } else k = 1; }
main() {
char chrstr[64]; int d ;
printf( \ gets(chrstr); d=strlen(chrstr) ; chrstr[d] = ' ' ; chrstr[d+1] = 0 ;
printf(\ %s\ fun(chrstr);
printf(\ %s\} 26
、
例如,若q的值为: 50.0,则函数值为: 49.394948。 请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include
double fun( double q ) { int n; double s,t; n = 2; s = 2.0;
while (s<=q) {
t=s;
/************found************/ s=s+(n+1)/n; n++; }
printf(\
/************found************/ return s; }
main ( ) {
printf(\}
27、给定程序MODI1.C中函数fun的功能是: 比较两个字符串,将长的那个字符串的首地址作为函数值返回。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! #include
/**********found**********/ char fun(char *s, char *t)
{ int sl=0,tl=0; char *ss, *tt; ss=s; tt=t; while(*ss) { sl++;
/**********found**********/ (*ss)++; }
while(*tt) { tl++;
/**********found**********/
17
赛德最新预测题库
(*tt)++; }
if(tl>sl) return t; else return s; }
main()
{ char a[80],b[80];
printf(\ \
printf(\ \ printf(\}
28、给定程序MODI1.C中,函数fun()的功能是统计s所指一维数组中0的个数(存在变量zero中)和1的个数(存在变量one中),并输出结果。 请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
void fun( int *s, int n ) {
/**********found**********/ int i, one=0, zero ; for(i=0; i /**********found**********/ switch( s[i] ); { /**********found**********/ case 0 : zero++; case 1 : one ++; } printf( \ zero : %d\\n\ zero); } main() { int a[20]={1,1,1,0,1,0,0,0,1,0,0,1,1,0,0,1,0,1,0,0}, n=20; fun( a, n ); } 29、给定程序MODI1.C中函数 fun 的功能是:判断ch中的字符是否与str所指串中的某个字符相同; 若相同,什么也不做,若不同,则将其插在串的最后。 请改正程序中的错误,使它能进行正确的操作。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include /**********found**********/ void fun(char str, char ch ) { while ( *str && *str != ch ) str++; /**********found**********/ if ( *str == ch ) { str [ 0 ] = ch; /**********found**********/ str[1] = '0'; } } main( ) { char s[81], c ; printf( \ gets ( s ); printf (\ c = getchar(); fun(s, c) ; printf( \ is %s\\n\ s); } 30、给定程序MODI1.C中,函数fun的功能是求矩阵(二维数组)a[N][N]中每行的最小值,结果存放到数组b中。 { int i, j; for (i=0; i /**********found**********/ b[i] = a[0][0]; /**********found**********/ for (j=1; j main() { int a[N][N]={{1,4,3,2},{8,6,5,7},{11,10,12,9},{13,16,14,15}},b[N]; int i; fun(a,b); for (i=0; i 31、给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。 1 1 1 1 y = 1 + ----- + ----- + ----- + …… + ----- 2*2 3*3 4*4 m*m 例如,若 m 中的值为: 5,则应输出:1.463611。 请改正程序中的错误,使它能得出正确的结果。 注意: 不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include double fun ( int m ) { double y = 1.0 ; int i; /**************found**************/ for(i = 2 ; i < m ; i++) /**************found**************/ y += 1 / (i * i) ; return( y ) ; } main( ) { int n = 5 ; printf( \} 32、给定程序MODI1.C中,函数fun的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后的数列在主函数中输出。例如,有10个正整数如下: 请改正程序中指定部位的错误,使它能得出正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include int findmid(int a, int b, int c) { int t; t = (a>b)?(b>c?b:(a>c?c:a)):((a>c)?a:((b>c)?c:b)); /**********found**********/ return b; } void fun(int x[]) { int i,a,b,c,t[N]; /**********found**********/ for(i=0;i { a=t[i];b=t[i+1];c=t[i+2]; /**********found**********/ t[i+1]=findmid(a,b,c); } 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include void fun(int a[][N], int b[]) 18 赛德最新预测题库 } main() { int i, x[N]={6,5,7,23,18,5,8,21,45,38}; for(i=0; i for(i=0; i 33、给定程序MODI1.C中函数fun的功能是: 先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。 请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include int a[3][3],sum; int i,j; /*********found**********/ ______; printf(\ for (i=0;i<3;i++) { for (j=0;j<3;j++) /*********found**********/ scanf(\ } for (i=0;i<3;i++) sum=sum+a[i][i]; printf(\} main() { fun(); } 34、给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。 例如,在调用fun函数之前给a输入字符串:ABCDEFGHIJK, 调用函数之后,字符数组b中的内容则为:ABC DEF GHI JK。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include void fun(char *p, char *b) { int i, k=0; while(*p) { i=1; while( i<=3 && *p ) { /**********found**********/ b[k]=p; k++; p++; i++; } if(*p) { /**********found**********/ b[k++]=\ } } b[k]='\\0'; } main() { char a[80],b[80]; printf(\ \ gets(a); printf(\ puts(a); fun(a,b); printf(\ \ puts(b); printf(\} 35、给定程序MODI1.C中 fun 函数的功能是: 根据形参m,计算如下公式的值。 1 1 1 1 t = 1 + ----- +----- + ----- + ……+ ----- 2 3 4 m 例如,若输入 5,则应输出 2.283333。 请改正程序中的错误或在下划线处填上适当的内容并把下划线删除, 使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include double t = 1.0; int i; for( i = 2; i <= m; i++ ) /**********found**********/ t += 1.0/k; /**********found**********/ ________ } main() { int m; printf( \ scanf( \ printf( \} 36、给定程序MODI1.C中函数fun的功能是: 计算整数n的阶乘。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使它能计算出正确的结果。 注意: 不要改动 main 函数, 不得增行或删行, 也不得更改程序的结构! #include double result=1.0; while (n>1 && n<170) /*********found*********/ result*=--n; /*********found*********/ return _____; } main() { int n; printf(\ scanf(\ printf(\} 37、给定程序MODI1.C中函数 fun 的功能是:实现两个整数的交换。 例如给a和b分别输入:60 和 65,输出为:a = 65 b = 60 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include /**********found**********/ void fun ( int a, b ) { int t; /**********found**********/ t = b; b = a ; a = t; } main ( ) { int a, b; printf ( \ a , b : \ fun ( &a , &b ) ; printf (\ b = %d\\n \} 38、给定程序MODI1.C中函数fun的功能是:从s所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。 例如,当s所指字符串中的内容为:\,t所指字符串的内容为:\,则函数返回整数3。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构! #include int fun (char *s, char *t) { int n; char *p , *r; n = 0; while ( *s ) { p = s; r = t; while ( *r ) if ( *r == *p ) { 19 赛德最新预测题库 /************found************/ r++; p++ } else break; /************found************/ if ( r == '\\0' ) n++; s++; } return n; } main() { char s[100], t[100]; int m; printf(\ printf(\ m = fun( s, t); printf(\ m = %d\\n\} 39、给定程序MODI1.C中函数 fun 的功能是:计算 S = f(-n) + f(-n+1) +?+ f(0) + f(1) + f(2) +?+ f(n)的值。例如,当n为5时,函数值应为:10.407143。f(x)函数定义如下: ┌(x+1)/(x-2) x>0 且 x≠2 f(x) = ┤0 x=0 或 x=2 └(x-1)/(x-2) x<0 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include /************found************/ f( double x) { if (x == 0.0 || x == 2.0) return 0.0; else if (x < 0.0) return (x -1)/(x-2); else return (x +1)/(x-2); } double fun( int n ) { int i; double s=0.0, y; for (i= -n; i<=n; i++) {y=f(1.0*i); s += y;} /************found************/ return s } main ( ) { printf(\} 40、由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include