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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

第71套:

給定程序中,函數fun的功能是:將形參s所指字符串中的所有數字字符順序前移,其他字符順序后移,處理后新字符串的首地址作為函數值返回。
例如,s所指字符串為:asd123fgh5##43df,處理后新字符串為:123543asdfgh##df。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i<n; i++) { if(isdigit(s[i])) { p[__1__]=s[i]; j++;} else { t[k]=s[i]; k++; } } for(i=0; i<__2__; i++) p[j+i]= t[i]; p[j+k]=0; return __3__; } main() { char s[80]; printf("Please input: "); scanf("%s",s); printf("\nThe result is: %s\n",fun(s)); }

解題思路:
第一處:函數中申請了兩個內存空間,其p是存放數字字符串,t是存放非數字字符串,根據條件可知,p依次存放數字字符串,其位置由j來控制,所以應填:j。
第二處:利用for循環(huán)再把t中的內容依次追加到p中,其中t的長度為k,所以應填:k。
第三處:最后返回p的首地址即可,所以應填:p。


給定程序MODI1.C中函數fun的功能是:首先把b所指字符串中的字符按逆序存放, 然后將a所指字符串中的字符和b所指字符串中的字符,按排列的順序交叉合并到c所指數組中,過長的剩余字符接在c所指數組的尾部。例如,當a所指字符串中的內容為"abcdefg",b所指字符串中的內容為"1234"時,c所指數組中的內容應該為"a4b3c2d1efg";而當a所指字符串中的內容為"1234",b所指字符串中的內容為"abcdefg"時,c所指數組中的內容應該為"1g2f3e4dcba"。
請改正程序中的錯誤,使它能得出正確的結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #include <string.h> void fun( char *a, char *b, char *c ) { int i , j; char ch; i = 0; j = strlen(b)-1; while ( i > j ) { ch = b[i]; b[i] = b[j]; b[j] = ch; i++; j--; } while ( *a || *b ) { If ( *a ) { *c = *a; c++; a++; } if ( *b ) { *c = *b; c++; b++; } } *c = 0; } main() { char s1[100],s2[100],t[200]; printf("\nEnter s1 string : ");scanf("%s",s1); printf("\nEnter s2 string : ");scanf("%s",s2); fun( s1, s2, t ); printf("\nThe result is : %s\n", t ); }

解題思路:
第一處:應該判斷i是否小于j,所以應改為:while(i<j)。
第二處:if錯寫成If。


函數fun的功能是:將s所指字符串中下標為偶數同時ASCII值為奇數的字符刪除,s所指串中剩余的字符形成的新串放在t所指的數組中。
例如,若s所指字符串中的內容為"ABCDEFG12345",其中字符C的ASCII碼值為奇數,在數組中的下標為偶數, 因此必須刪除;而字符1的ASCII碼值為奇數,在數組中的下標也為奇數,因此不應當刪除,其它依此類推。最后t所指的數組中的內容應是"BDF12345"。
注意: 部分源程序存在文件PROG1.C中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入
你編寫的若干語句。
給定源程序:

#include <stdio.h> #include <string.h> void fun(char *s, char t[]) { } main() { char s[100], t[100]; printf("\nPlease enter string S:"); scanf("%s", s); fun(s, t); printf("\nThe result is: %s\n", t); NONO(); }

解題思路:
本題是從一個字符串按要求生成另一個新的字符串。我們使用for循環(huán)語句來解決這個問題。
參考答案:

void fun(char *s, char t[]) { int i, j = 0 ; for(i = 0 ; i < strlen(s) ; i++) if(!((i % 2) ==0 && (s[i] % 2))) t[j++] = s[i] ; t[j] = 0 ; }

總結

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

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