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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

第75套:

給定程序中,函數fun的功能是:對形參ss所指字符串數組中的M個字符串按長度由短到長進行排序。ss所指字符串數組中共有M個字符串,且串長<N。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #include <string.h> #define M 5 #define N 20 void fun(char (*ss)[N]) { int i, j, k, n[M]; char t[N]; for(i=0; i<M; i++) n[i]=strlen(ss[i]); for(i=0; i<M-1; i++) { k=i; for(j=___1___; j<M; j++) if(n[k]>n[j]) ___2___; if(k!=i) { strcpy(t,ss[i]); strcpy(ss[i],ss[k]); strcpy(ss[k],___3___); n[k]=n[i]; } } } main() { char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"}; int i; printf("\nThe original strings are :\n"); for(i=0; i<M; i++) printf("%s\n",ss[i]); printf("\n"); fun(ss); printf("\nThe result :\n"); for(i=0; i<M; i++) printf("%s\n",ss[i]); }

解題思路:
本題是要求按字符串的長短進行排序。
第一處:內循環賦初值,應填:i+1。
第二處:找出最短的一個長度,所以應填:m=j。
第三處:交換字符串,所以應填:t。


給定程序MODI1.C中函數 fun 的功能是:判斷ch中的字符是否與str所指串中的某個字符相同; 若相同,什么也不做,若不同,則將其插在串的最后。
請改正程序中的錯誤,使它能進行正確的操作。
注意:不要改動 main 函數,不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #include <string.h> void fun(char str, char ch ) { while ( *str && *str != ch ) str++; if ( *str == ch ) { str [ 0 ] = ch; str[1] = '0'; } } main( ) { char s[81], c ; printf( "\nPlease enter a string:\n" ); gets ( s ); printf ("\n Please enter the character to search : " ); c = getchar(); fun(s, c) ; printf( "\nThe result is %s\n", s); }

解題思路:
第一處:第1個形參應該是字符串類型,所以應改為:void fun(char *str, char ch)。
第二處:應該是判斷不相等,所以應改為:if(*str!=ch)。
第三次:置字符串結束符錯誤,所以應改為:str[1] = 0;。


請編一個函數fun(char *s),函數的功能是把s所指字符串中的內容逆置。
例如:字符串中原有的字符串為:abcdefg,則調用該函數后, 串中的內容為:gfedcba。
注意: 部分源程序存在文件PROG1.C中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:

#include <string.h> #include <stdio.h> #define N 81 fun ( char *s ) { } main( ) { char a[N]; printf ( "Enter a string : " ); gets ( a ); printf ( "The original string is : " ); puts( a ); fun ( a ); printf("\n"); printf ( "The string after modified : "); puts ( a ); NONO( ); }

解題思路:
本題是考察考生如何對字符串中的字符進行逆序操作。給出的程序使用了一個臨時變量b 的字符串,使用for循環語句把原字符串的字符從尾部依次賦給臨時變量b(從頭開始)中,循環結束后,再把臨時變量b的內容重新復制給原字符串變量即可。
參考答案:

fun ( char *s ) { char b[N] ; int i = 0, j ; memset(b, 0, N) ; for(j = strlen(s) - 1 ; j >= 0 ; j--) b[i++] = s[j] ; strcpy(s, b) ; }

總結

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

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