1、计算机语言试题及答案程序修改题1、给定程序MODI1.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include #include #define N 20int fun( int *b )/*found*/ int tN ,i, num for(i=0; i if(bi=10)/*found*/ t+num=bi;/*found*/ for(i=0; i bi=ti; return( num );main() int
2、 aN,i,num; printf(a数组中的数据 :n); for(i=0;i printf(n); num=fun(a); for(i=0;i printf(n);2、给定程序MODI1.C中函数 fun 的功能是: 将十进制正整数m转换成k(2k9)进制数, 并按高位到低位顺序输出。 例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请改正 fun 函数中的错误,使它能得出正确的结果。 注意:不要改动 main 函数。不得增行或删行,也不得更改程序的结构!#include #include void fun( int m, int k ) int aa20
3、, i; for( i = 0; m; i+ ) /*found*/ aai = m/k; m /= k; for( ; i; i- )/*found*/ printf( %d, aa i );main() int b, n; printf( nPlease enter a number and a base:n ); scanf( %d %d, &n, &b ); fun( n, b ); printf(n);3、给定程序MODI1.C中函数 fun 的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 请改正程序中的错误,使它能得出正确的结果。 注意: 不要改动 main 函数,不得增
4、行或删行,也不得更改程序的结构!#include #include #define MAXLINE 20fun ( char *pstr6) int i, j ; char *p ; for (i = 0 ; i 5 ; i+ ) /*found*/ for (j = i + 1, j 0) p = *(pstr + i) ;/*found*/ *(pstr + i) = pstr + j ; *(pstr + j) = p ; main( ) int i ; char *pstr6, str6MAXLINE ; for(i = 0; i 6 ; i+) pstri = stri ; prin
5、tf( nEnter 6 string(1 string at each line): n ) ; for(i = 0 ; i 6 ; i+) scanf(%s, pstri) ; fun(pstr) ; printf(The strings after sorting:n) ; for(i = 0 ; i = num) pi = pi + t ; n = n + 2 ; s = -s ;/*found*/ t = s % n ; pi = pi * 4 ; return pi ;main( ) float n1, n2 ; printf(Enter a float number: ) ; s
6、canf(%f, &n1) ; n2 = fun(n1) ; printf(%6.4fn, n2) ; 6、给定程序MODI1.C中函数 fun 的功能是:求出数组中最大数和次最大数,并把最大数和a0中的数对调、次最大数和a1中的数对调。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!#include #define N 20void fun ( int * a, int n ) int i, m, t, k ; for(i=0;iam) k=m; t=ai;ai=am;am=t; main( ) int bN=11,5,12
7、,0,3,6,9,7,10,8, n=10, i; for ( i=0; i fun ( b, n ); for ( i=0; i 7、 例如,若给m输入 -100,给n输入90,则函数求得的一个根值为2.000。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include #include double funx(double x) return(2*x*x*x-4*x*x+3*x-6); double fun( double m, double n)/*found*/ int r; r=(m+n)/2;/*found*/ w
8、hile(fabs(n-m)0.001) if(funx(r)*funx(n)0) m=r; else n=r; r=(m+n)/2; return r;main( ) double m,n, root; printf(Enter m n : n); scanf(%lf%lf,&m,&n); root=fun( m,n ); printf(root = %6.3fn,root); 8、给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。 1 1 1 1 y = - + - + - + + - 100*100 200*200 300*300 m*m 例如,若m = 20
9、00,则应输出: 0.。 请改正程序中的语法错误,使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!#include /*found*/fun ( int m ) double y = 0, d ; int i ;/*found*/ for( i = 100, i = 0) numi+; main( ) char s181; int num15, i; printf( nPlease enter a string: ); gets( s1 ); fun ( s1, num1 ); for ( i=0; i 5; i+ ) printf (%d ,n
10、um1i); printf (n); 10、给定程序MODI1.C的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。 例如,若输入:I am a student to take the examination., 则应输出:I Am A Student To Take The Examination.。 请改正程序中的错误,使程序能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!#include #include /*found*/include /*found*/void upf
11、st ( char p ) int k=0; for ( ; *p; p+ ) if ( k ) 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
12、1、给定程序MODI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。 例如,若给num1和num2分别输入49和21,则输出的最大公约数为7;若给num1和num2分别输入27和81,则输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include int fun(int a,int b) int r,t; if(a/*found*/ t=a; b=a; a=t; r=a%b; while(r!=0) a=b; b=r; r=a%b; /*found*/ return(a);m
13、ain() int num1, num2,a; printf(Input num1 num2: ); scanf(%d%d,&num1,&num2); printf(num1= %d num2= %dnn,num1,num2); a=fun(num1,num2); printf(The maximun common divisor is %dnn,a); 12、给定程序MODI1.C中函数 fun 的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其它字符不变。 例如,若输入Ab, cD,则输出AB, CD。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数
14、,不得增行或删行,也不得更改程序的结构!#include #include char* fun( char tt ) int i; for( i = 0; tti; i+ )/*found*/ if( a = tti )|( tti = z ) )/*found*/ tti += 32; return( tt );main( ) char tt81; printf( nPlease enter a string: ); gets( tt ); printf( nThe result string is:n%s, fun( tt ) ); 13、给定程序MODI1.C的功能是:读入一个整数k(2
15、k10000),打印它的所有质因子(即所有为素数的因子)。 例如,若输入整数:2310,则应输出:2、3、5、7、11。 请改正程序中的语法错误,使程序能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!#include /*found*/IsPrime ( int n ); int i, m; m = 1; for ( i = 2; i n; i+ )/*found*/ if !( n%i ) m = 0; break ; return ( m );main( ) int j, k; printf( nPlease enter an integer nu
16、mber between 2 and 10000: ); scanf( %d, &k ); printf( nnThe prime factor(s) of %d is( are ):, k ); for( j = 2; j = k; j+ ) if( ( !( k%j ) )&( IsPrime( j ) ) ) printf( n M, j ); printf(n); 14、给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。 例如,输入的数为:55 12 34, 输出结果应当是:a=55.0 , b=34.0 , c=12.
17、0。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#include void fun(float *a,float *b,float *c)/*found*/ float *k; if( *a*c ) k=*c; *c=*a; *a=k; if( *b=0 & si=9)/*found*/ sj=si;/*found*/ sj=0;main() char item80; printf(nEnter a string : );gets(item); printf(nnThe string is : %sn,item); fun(item); printf(nnThe string of changing is : %sn,item ); 16、给定程序MODI1.C中函数fun的功能是: 交换主函数中两个变量的值。例如: 若变量a中的值原为8,b中的值为3。程序运行后a中的值为3, b中的值为8。 请改正程序中的错误, 使它能计算出正确的结果。 注意: 不要改动 main 函数, 不得增行或删行, 也不得更改程序的结构!#include /*found*/void fun(int x,int y) int t;/*
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2