3. 編程題
下列程序定義了N×N的二維數(shù)組,并在主函數(shù)中賦值。請編寫函數(shù)fun(),函數(shù)的功能是:求出數(shù)組周邊元素的平方和并作為函數(shù)值返回給主函數(shù)中的s。例如:若a 數(shù)組中的值為
a=0 1 2 7 9
1 11 21 5 5
2 21 6 11 1
9 7 9 10 2
5 4 1 4 1
則返回主程序后s的值應為310。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include
#include
#include
#define N 5
int fun (int w[][N])
{
}
main()
{
int a[N][N]={0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1};
int i, j;
int s;
clrscr();
printf("*****The array*****\n ");
for (i=0; i { for (j=0;j {printf("%4d ",a[i][j]);} printf("\n "); } s=fun(a); printf("*****THE RESULT*****\n "); printf("The sum is : %d\n ",s); } 答案及評析: int fun (int w[][N]) { int i,j,k=0; int s=0; for(i=0;i for(j=0;j if(i==0||i==N-1||j==0||j==N-1) /*只要下標中有一個為0或N-1,則它一定是周邊元素*/ {s=s+w[i][j]*w[i][j]; /*將周邊元素求平方和*/ } return s; /*返回周邊元素的平方和*/ } 【解析】該題采用逐一判斷的方式,周邊元素的下標一定有一個是0或N-1,且只要下標中有一個為0或N-1,則它一定是周邊元素。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |