日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全国计算机等级考试题库二级C操作题100套(第51套)

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全国计算机等级考试题库二级C操作题100套(第51套) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第51套:

給定程序中,函數fun的功能是:計算出形參s所指字符串中包含的單詞個數, 作為函數值返回。為便于統計,規定各單詞之間用空格隔開。
例如,形參s所指的字符串為:This is a C language program.,函數
的返回值為6。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> int fun(char *s) { int n=0, flag=0; while(*s!='\0') { if(*s!=' ' && flag==0) { __1__ ; flag=1;} if (*s==' ') flag= __2__ ; __3__ ; } return n; } main() { char str[81]; int n; printf("\nEnter a line text:\n"); gets(str); n=fun(str); printf("\nThere are %d words in this text.\n\n",n); }

解題思路:
本題是統計字符串中包含的單詞個數。
第一處:單詞個數用變量n來統計,當當前字母不是空格且flag狀態標志為0時,則單詞數就加1,將狀態標志flag置為1,所以應填:n++。
第二處:當當前字符是空格時,flag狀態標志置0,所以應填:0。
第三處:到字符串下一個位置,所以應填:s++。


給定程序MODI1.C中函數 fun 的功能是:從n(形參)個學生的成績中統計出低于平均分的學生人數,此人數由函數值返回,平均分存放在形參aver所指的存儲單元中。
例如,若輸入 8 名學生的成績:80.5 60 72 90.5 98 51.5 88 64
則低于平均分的學生人數為: 4 (平均分為:75.5625 )。
請改正程序中的錯誤,使它能統計出正確的結果。
注意:不要改動 main 函數,不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #define N 20 int fun ( float *s, int n, float *aver ) { float ave, t = 0.0 ; int count = 0, k, i ; for ( k = 0 ; k < n ; k++ ) t = s[k] ; ave = t / n ; for ( i = 0 ; i < n ; i++ ) if ( s[ i ] < ave ) count++ ; *aver = Ave ; return count ; } main() { float s[30], aver ; int m, i ; printf ( "\nPlease enter m: " ) ; scanf ("%d", &m ) ; printf ( "\nPlease enter %d mark :\n ", m ) ; for( i = 0 ; i < m ; i++ ) scanf ( "%f", s + i ) ; printf( "\nThe number of students : %d \n" , fun ( s, m, &aver ) ); printf( "Ave = %f\n", aver ) ; }

解題思路:
第一處:應求累加和,而不賦值,所以應改為t+=s[k];。
第二處:ave不需要取地址,直接賦給*aver就可以了。


請編寫函數fun,其功能是求出數組的最大元素在數組中的下標并存放在k所指的存儲單元中。
例如, 輸入如下整數: 876 675 896 101 301 401 980 431 451 777
則輸出結果為: 6, 980
注意: 部分源程序在文件PROG1.C文件中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:

#include <stdio.h> int fun(int *s, int t, int *k) { } main( ) { int a[10]={876,675,896,101,301,401,980,431,451,777}, k ; fun(a, 10, &k) ; printf("%d, %d\n", k, a[k]) ; NONO( ) ; }

解題思路:
本題是考察考生如何在指定的數組找出最大元素值的下標,通過形參k返回到主程序中。給出的程序是使用for循環語句進行處理的,在循環之前,首先把數組的第一個元素值賦給最大值變量max,位置pos為0,然后通過循環依次判斷下一元素值是否大于最大值max,如果大于,那么把這個數重新賦給max,位置i賦給pos,循環結果,即可得到最大值的位置pos,最后執行語句k=pos就可以實現返回了。
參考答案:

int fun(int *s, int t, int *k) { int i, pos = 0, max = *s ; for(i = 1 ; i < t ; i++) { if(max < *(s + i)) { max = *(s + i) ; pos = i ; } } *k = pos ; }

總結

以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第51套)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。