當前位置:才華齋>範例>熱點>

計算機二級上機題庫

熱點 閱讀(2.9W)

例如,若 m 中的值為: 5,則應輸出:1.463611。

計算機二級上機題庫

請改正程式中的錯誤,使它能得出正確的結果。

注意: 不要改動 main 函式,不得增行或刪行,也不得更改程式的`結構!

給定源程式:

#include

double fun (int m)

{double y = 1.0 ;

int i;

/**************found**************/

for(i = 2 ; i < m ; i++)

/**************found**************/

y += 1 / (i * i);

return(y);

}

main()

{int n = 5 ;

printf("nThe result is %lfn", fun (n));

}

解題答案:

/**************found**************/

for(i=2; i<=m; i++)

/**************found**************/

y+=1.0/(i*i);

******************************************

程式題:請編寫函式fun, 函式的功能是:實現B=A+A', 即把矩陣A加上A的轉置, 存放在矩陣B中。計算結果在 main 函式中輸出。

例如,輸入下面的矩陣: 其轉置矩陣為:

1 2 3 1 4 7

4 5 6 2 5 8

7 8 9 3 6 9

程式輸出:

2 6 10

6 10 14

10 14 18

注意: 部分源程式在檔案PROG1.C中。

請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入

你編寫的若干語句

給定源程式:

#include

void fun (int a[3][3], int b[3][3])

{

}

main() /* 主程式 */

{int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, t[3][3] ;

int i, j ;

void NONO ();

fun(a, t);

for (i = 0 ; i < 3 ; i++) {

for (j = 0 ; j < 3 ; j++)

printf("%7d", t[i][j]);

printf("n");

}

NONO ();

}

void NONO ()

{/* 本函式用於開啟檔案,輸入測試資料,呼叫fun函式,輸出資料,關閉檔案。*/

int i, j, k, a[3][3], t[3][3] ;

FILE *rf, *wf ;

rf = fopen("","r");

wf = fopen("","w");

for(k = 0 ; k < 5 ; k++) {

for(i = 0 ; i < 3 ; i++)

fscanf(rf, "%d %d %d", &a[i][0], &a[i][1], &a[i][2]);

fun(a, t);

for(i = 0 ; i < 3 ; i++) {

for(j = 0 ; j < 3 ; j++) fprintf(wf, "%7d", t[i][j]);

fprintf(wf, "n");

}

}

fclose(rf);

fclose(wf);

}

參考答案:

void fun ( int a[3][3], int b[3][3])

{

int c[3][3] ;

int i, j ;

for(i = 0 ; i < 3 ; i++)

for(j = 0 ; j < 3 ; j++) {

c[i][j] = a[j][i] ; /* 矩陣的轉置 */

b[i][j] = a[i][j] + c[i][j] ;

}