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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

第10套:
給定程序中,函數fun的功能是:判定形參a所指的N×N(規定N為奇數)的矩陣是否是"幻方",若是,函數返回值為1; 不是,函數返回值為0?!盎梅?#34;的判定條件是:矩陣每行、每列、主對角線及反對角線上元素之和都相等。
例如,以下3×3的矩陣就是一個"幻方”:
4 9 2
3 5 7
8 1 6
請在程序的下劃線處填入正確的內容并把下劃線刪除, 使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #define N 3 int fun(int (*a)[N]) { int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; i<N; i++) { j=N-i-1; m1+=a[i][i]; m2+=a[i][j]; } if(m1!=m2) return 0; for(i=0; i<N; i++) { row=colum= __1__; for(j=0; j<N; j++) { row+=a[i][j]; colum+=a[j][i]; } if( (row!=colum) __2__ (row!=m1) ) return 0; } return __3__; } main() { int x[N][N],i,j; printf("Enter number for array:\n"); for(i=0; i<N; i++) for(j=0; j<N; j++) scanf("%d",&x[i][j]); printf("Array:\n"); for(i=0; i<N; i++) { for(j=0; j<N; j++) printf("%3d",x[i][j]); printf("\n"); } if(fun(x)) printf("The Array is a magic square.\n"); else printf("The Array isn't a magic square.\n"); }

解題思路:
第一處:行列變量row和colum的值初始化為0。
第二處:兩個條件只要有一個不滿足就返回0,所以應填:||。
第三處:如果矩陣是“幻方”,則返回1。


給定程序MODI1.C中fun函數的功能是: 根據整型形參m,計算如下公式的值。
1 1 1
t = 1 - ----- - ----- - …… - -----
2 3 m
例如,若主函數中輸入5,則應輸出 -0.283333。
請改正函數fun中的錯誤或在橫線處填上適當的內容并把橫線刪除, 使它能計算出正確的結果。
注意:不要改動 main 函數,不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> double fun( int m ) { double t = 1.0; int i; for( i = 2; i <= m; i++ ) t = 1.0-1 /i; _______; } main() { int m ; printf( "\nPlease enter 1 integer numbers:\n" ); scanf( "%d", &m); printf( "\n\nThe result is %lf\n", fun( m ) ); }

解題思路:
第一處:在除法運算中,如果除數和被除數都是整數,所么所除結果也是整數,因此應改為t-=1./i。
第二處:應是返回公式的值,函數中公式的值是存放在臨時變量t中,所以應填return t;。


請編寫一個函數,函數的功能是刪除字符串中的所有空格。
例如, 主函數中輸入"asd af aa z67", 則輸出為 “asdafaaz67”。
注意:部分源程序在文件PROG1.C中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:

#include <stdio.h> #include <ctype.h> int fun(char *str) { } main() { char str[81]; int n; printf("Input a string:") ; gets(str); puts(str); fun(str); printf("*** str: %s\n",str); NONO(); }

解題思路:
本題是考察考生怎樣利用字符串指針來刪除字符串的空格字符。在函數開始處把指針p先指
向字符串str以及位置變量i置0,然后采用while循環和字符串指針p來處理的,每循環一次來判斷指針p所指的字符是否為空格,如果不是空格,則把該字符寫到str字符串中,位置由i來控制,如果是空格,則不處理,繼續取下一字符,直至字符串結束為止,最后再把字符串結束符寫到
位置為i的str上,再通過形參str返回。
參考答案:

int fun(char *str) { char *p = str ; int i = 0 ; while(*p) { if(*p != ' ') str[i++] = *p ; p++ ; } str[i] = 0 ; }

總結

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

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