c语言int fun ( int n),他说我第一处错误:int fun(int n=M, int xx[M][M]),我觉得没错啊,谢谢指导!!!...

第15课 改错题真题

给定程序MODI1.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构

【微答案】(1)int fun(int n,int xx[][M])(2)printf("%d",xx[i][j]);【微分析】(1)当用数组作为函数的形参时,可以不定义数组的行数,但一定要定义数组的列数。(2)该处错误比较隐蔽,一般C语言上机考试很少涉及printf函数中的错误,此处只要明白"d"和"f"的区别就可以了。格式字符d表示以带符号的十进制形式输出整数(正整数不输出符号);格式字符f表示以小数形式输出单精度、双精度数据,隐含输出6位小数。

我的:

#include

#define  M   5

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

int  fun(int  n=M, int  xx[M][M])

{  int  i, j, sum=0;

printf( "\nThe %d x %d matrix:\n", M, M );

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

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

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

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

printf("\n");

}

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

sum += xx[i][i]+xx[i][ n-i-1 ];

return( sum );

}

main( )

{  int  aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},

{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};

printf ( "\nThe sum of all elements on 2 diagnals is %d.",fun( M, aa ));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值