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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

第62套:

給定程序中,函數fun的功能是:把形參s所指字符串中下標為奇數的字符右移到下一個奇數位置,最右邊被移出字符串的字符繞回放到第一個奇數位置,下標為偶數的字符不動(注:字符串的長度大于等于2)。例如,形參s所指的字符串為:abcdefgh,執行結果為:ahcbedgf。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> void fun(char *s) { int i, n, k; char c; n=0; for(i=0; s[i]!='\0'; i++) n++; if(n%2==0) k=n-___1___ ; else k=n-2; c=___2___ ; for(i=k-2; i>=1; i=i-2) s[i+2]=s[i]; s[1]=___3___ ; } main() { char s[80]="abcdefgh"; printf("\nThe original string is : %s\n",s); fun(s); printf("\nThe result is : %s\n",s); }

解題思路:
第一處:首先判斷字符串的長度是奇數還是偶數,如果是奇數,則k=n-1,所以應填:1。
第二處:取字符串最后一個奇數位的字符,并由變量c保存,所以應填:s[k]。
第三處:第1位奇數位用最一個奇數位字符替換,所以應填:c。


給定程序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 <stdio.h> long fun (int a, int n) { int j ; long s = 0, t = 1 ; for ( j = 0 ; j < n ; j++) t = t * 10 + a ; s = t ; for ( j = 1 ; j < n ; j++) { t = t % 10 ; s = s - t ; } return(s) ; } main( ) { int a, n ; printf( "\nPlease enter a and n:") ; scanf( "%d%d", &a, &n ) ; printf( "The value of function is: %ld\n", fun ( a, n ) ); }

解題思路:
第一處:根據for循環計算t的值可知,變量t的初值不正確,應為0。
第二處:每次循環都是取t除以10的值,而不是取余數,所以應改t=t/10;。


請編寫一個函數 void fun(char *tt, int pp[]),統計在tt所指字符串中 ‘a’ 到 ‘z’ 26個小寫字母各自出現的次數,并依次放在pp所指數組中。 例如,當輸入字符串:abcdefgabcdeabc 后,程序的輸出結果應該是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
注意: 部分源程序在文件PROG1.C中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:

#include <stdio.h> #include <string.h> void fun(char *tt, int pp[]) { } main( ) { char aa[1000] ; int bb[26], k, n ; printf( "\nPlease enter a char string:" ) ; scanf("%s", aa) ; fun(aa, bb ) ; for ( k = 0 ; k < 26 ; k++ ) printf ("%d ", bb[k]) ; printf( "\n" ) ; NONO ( ) ; }

解題思路:
本題是考察考生在給定的字符串中統計出26個小寫字母的次數并存入到指定的數組中且由形參返回。其中數組下標的位置可以通過某一個字符的ASCII值減去97或直接減’a’也可以,就可以得出該字符出現次數存放的位置。例如:字符為b,那么位置為’b’-‘a’=1,就是實際存放的位置。
參考答案:

void fun(char *tt, int pp[]) { char *p = tt ; int i ; for(i = 0 ; i < 26 ; i++) pp[i] = 0 ; while(*p) { if(*p >= 'a' && *p <= 'z') pp[*p - 'a'] += 1 ; p++ ; } }

總結

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

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