全国计算机等级考试题库二级C操作题100套(第21套)
第21套:
給定程序中,函數(shù)fun的功能是:計(jì)算形參x所指數(shù)組中N個(gè)數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中大于平均值的數(shù)據(jù)移至數(shù)組的前部,小于等于平 均值的數(shù)據(jù)移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動(dòng)后的數(shù)據(jù)。
例如,有10個(gè)正數(shù):46 30 32 40 6 17 45 15 48 26,平均值為:
30.500000 移動(dòng)后的輸出為:46 32 40 45 48 30 6 17 15 26
請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include <stdlib.h> #include <stdio.h> #define N 10 double fun(double *x) { int i, j; double s, av, y[N]; s=0; for(i=0; i<N; i++) s=s+x[i]; av=__1__; for(i=j=0; i<N; i++) if( x[i]>av ){ y[__2__]=x[i]; x[i]=-1;} for(i=0; i<N; i++) if( x[i]!= __3__) y[j++]=x[i]; for(i=0; i<N; i++)x[i] = y[i]; return av; } main() { int i; double x[N]; for(i=0; i<N; i++){ x[i]=rand()%50; printf("%4.0f ",x[i]);} printf("\n"); printf("\nThe average is: %f\n",fun(x)); printf("\nThe result :\n",fun(x)); for(i=0; i<N; i++) printf("%5.0f ",x[i]); printf("\n"); }解題思路:
第一處:計(jì)算N個(gè)數(shù)的平均值,所以應(yīng)填:s/N。
第二處:利用for循環(huán)語句,把數(shù)組x中大于平均值的數(shù),依次存放到數(shù)組y中,同時(shí)把數(shù)組x上的該數(shù)置為-1,其中位置由變量j來控制,所以應(yīng)填:j++。
第三處:再利用循環(huán)把不是-1的數(shù),依次仍存放到數(shù)組y中,所以應(yīng)填:-1。
給定程序MODI1.C的功能是:讀入一個(gè)英文文本行,將其中每個(gè)單詞的第一個(gè)字母改成大寫,然后輸出此文本行(這里的“單詞”是指由空格隔開的字符串)。
例如,若輸入:I am a student to take the examination.,
則應(yīng)輸出:I Am A Student To Take The Examination.。
請(qǐng)改正程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。
注意:不要改動(dòng) main 函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include <ctype.h> #include <string.h> include <stdio.h> upfst ( char p ) { int k=0; for ( ; *p; p++ ) if ( k ) { if ( *p == ' ' ) k = 0; } else if ( *p != ' ' ) { k = 1; *p = toupper( *p ); } } main( ) { char chrstr[81]; printf( "\nPlease enter an English text line: " ); gets( chrstr ); printf( "\n\nBefore changing:\n %s", chrstr ); upfst( chrstr ); printf( "\nAfter changing:\n %s\n", chrstr ); }解題思路:
第一處:包含頭文件的標(biāo)識(shí)錯(cuò)誤,在include前漏寫了#。
第二處:由于傳入的參數(shù)是字符串,所以應(yīng)為upfst(char *p)。
程序定義了N×N的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作為函數(shù)值返給主函數(shù)中的s。
例如:a 數(shù)組中的值為
|0 1 2 7 9|
|1 9 7 4 5|
a = |2 3 8 3 1|
|4 5 6 8 2|
|5 9 1 4 1|
則返回主程序后s的值應(yīng)為: 3.375。
注意: 部分源程序存在文件PROG1.C文件中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
給定源程序:
#include <stdio.h> #include <stdlib.h> #define N 5 double fun ( int w[][N] ) { } main ( ) { int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1}; int i, j; double s ; printf("***** The array *****\n"); for ( i =0; i<N; i++ ) { for ( j =0; j<N; j++ ) { printf( "%4d", a[i][j] ); } printf("\n"); } s = fun ( a ); printf ("***** THE RESULT *****\n"); printf( "The sum is : %lf\n",s ); NONO( ); }解題思路:
本題是統(tǒng)計(jì)二維數(shù)組周邊元素值的平均值,但要注意的是不要重復(fù)計(jì)算四個(gè)角上的元素值。
參考答案:
總結(jié)
以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第21套)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【SpringBoot 框架】- Spr
- 下一篇: 蓝牙耳机测试软件apk_延迟测试app下