編程題
程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)的功能是:使數(shù)組右上三角元素中的值乘以m 。
例如:若m的值為2,a 數(shù)組中的值為
| 1 9 7 | | 2 18 14|
a = | 2 3 8 | 則返回主程序后a數(shù)組中的值應(yīng)為 | 2 6 16|
| 4 5 6 | | 4 5 12|
注意: 部分源程序存在文件PROG1.C文件中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容, 僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。
給定源程序:
#include
#include
#define N 5
int fun ( int a[][N], int m )
{
}
main ( )
{ int a[N][N], m, i, j;
printf("***** The array *****\n");
for ( i =0; i { for ( j =0; j { a[i][j] = rand()%20; printf( "%4d", a[i][j] ); } printf("\n"); } do m = rand()%10 ; while ( m>=3 ); printf("m = %4d\n",m); fun ( a ,m ); printf ("THE RESULT\n"); for ( i =0; i { for ( j =0; j printf("\n"); } NONO ( ); } 解題思路: 本題是利用兩重循環(huán)給二維數(shù)組右上三角元素中的值乘以m。 參考答案: int fun ( int a[][N], int m ) { int i, j; for(i = 0 ; i < N ; i++) for(j = i ; j < N ; j++) a[i][j] *= m ; }
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |