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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

第35套:

給定程序中,函數fun的功能是建立一個N×N的矩陣。 矩陣元素的構成規律是:最外層元素的值全部為1;從外向內第2層元素的值全部為2;第3層元素的值
全部為3,…依次類推。例如,若N=5,生成的矩陣為:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
請在程序的下劃線處填入正確的內容并把下劃線刪除, 使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #define N 7 void fun(int (*a) __1__) { int i,j,k,m; if(N%2==0) m=N/2 ; else m=N/2+1; for(i=0; i<m; i++) { for(j= __2__ ; j<N-i; j++) a[i][j]=a[N-i-1][j]=i+1; for(k=i+1; k<N-i; k++) a[k][i]=a[k][N-i-1]= __3__; } } main() { int x[N][N]={0},i,j; fun(x); printf("\nThe result is:\n"); for(i=0; i<N; i++) { for(j=0; j<N; j++) printf("%3d",x[i][j]); printf("\n"); } }

解題思路:
第一處:建立一個N×N的矩陣,所以應填:[N]。
第二處:j的起始變量值應i。
第三處:也應該填寫i+1。


給定程序MODI1.C中函數 fun 的功能是: 將十進制正整數m轉換成k(2≤k≤9) 進制數, 并按高位到低位順序輸出。
例如,若輸入8和2,則應輸出1000(即十進制數8轉換成二進制表示是1000)。
請改正 fun 函數中的錯誤,使它能得出正確的結果。
注意:不要改動 main 函數。不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <conio.h> #include <stdio.h> void fun( int m, int k ) { int aa[20], i; for( i = 0; m; i++ ) { aa[i] = m/k; m /= k; } for( ; i; i-- ) printf( "%d", aa[ i ] ); } main() { int b, n; printf( "\nPlease enter a number and a base:\n" ); scanf( "%d %d", &n, &b ); fun( n, b ); printf("\n"); }

解題思路:
第一處:應該取模而不是整除,所以應為:aa[i]=m%k;。
第二處:輸出aa的位置不正確,所以應為:printf("%d",aa[i-1]);。


編寫一個函數,從num個字符串中找出最長的一個字符串,并通過形參指針max傳回該串地址。(注意: 主函數中用****作為結束輸入的標志,函數fun中給出的語句僅供參考。)
注意:部分源程序在文件PROG1.C中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:

#include <stdio.h> #include <string.h> fun(char(*a)[81],int num,char **max) { int i,k=0,len, maxlen; /* k為a數組中最長串所在元素的下標,初始為0,maxlen為其串 長 */ maxlen=strlen(a[k]); for(i=1;i<num;i++) { /* 以下完成查找最長串 */ } *max=a[k]; } main() { char ss[10][81],*ps; int n,i=0; printf("輸入若干個字符串:"); gets(ss[i]); puts(ss[i]); while(!strcmp(ss[i],"****")==0) { i++; gets(ss[i]); puts(ss[i]); } n=i; fun(ss,n,&ps); printf("\nmax=%s\n",ps); NONO(); }

解題思路:
本題是考察考生怎樣從已輸入的字符串中找出長度最大的字符串。求字符串的長度可以使用strlen函數。
參考答案:

fun(char(*a)[81],int num,char **max) { int i,k=0,maxlen; /* k為a數組中最長串所在元素的下標,初始為0,maxlen為其串長 */ maxlen=strlen(a[k]); for(i=1;i<num;i++) { /* 以下完成查找最長串 */ if(strlen(a[i]) > maxlen) { maxlen = strlen(a[i]) ; k = i ; } } *max=a[k]; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

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

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