fun函数错哪了
奋斗的学渣 资深达人 2016-02-13 22:14:34
1293 5 0

#include <stdio.h>

#include <stdlib.h>

#define  N  5

double fun ( int w[][N] )

{

int i,j,k=0;

double av=0.0;

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

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

{

av+=w[i][j];

k++;

}

return av/k;

}


main ( )

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

   int i, j;void NONO ();

   double s ;

   printf("***** The array *****\n");

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

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

     {  printf( "%4d", a[i][j] ); }

        printf("\n");

   }

   s = fun ( a );

   printf ("***** THE  RESULT *****\n");

   printf( "The sum is :  %lf\n",s );

   NONO( );

}


void NONO ()

{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */

  FILE *rf, *wf ;

  int i, j, a[5][5]; double s ;


  rf = fopen("in.dat","r") ;

  wf = fopen("out.dat","w") ;

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

  for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d ", &a[i][j]) ;

  s = fun(a) ;

  fprintf(wf, "%lf\n", s);

  fclose(rf) ;

  fclose(wf) ;

}


问题来自: 编程题真题

共 5 个回答

    嘿嘿大人 一代宗师 3439天前

    你想问语法错误还是逻辑错误,把题目发出来看看,手机看不了题目,如果是逻辑错误就发一下报错内容

    奋斗的学渣 资深达人 3439天前

    回复 嘿嘿大人

    程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。
    例如:a 数组中的值为
                    |0  1  2  7  9|
                    |1  9  7  4  5|
            a =   |2  3  8  3  1|
                    |4  5  6  8  2|
                    |5  9  1  4  1|
    则返回主程序后s的值应为: 3.375。

    我的结果是4.28,这是为什么呀。

    嘿嘿大人 一代宗师 3438天前

    回复 奋斗的学渣:题目要求的是周边元素,你求的是所有元素

    奋斗的学渣 资深达人 3438天前

    回复 嘿嘿大人:周边元素是什么

    嘿嘿大人 一代宗师 3437天前

    |0  1  2  7  9|
    |1  9  7  4  5|
    |2  3  8  3  1|就是这一圈红色的 

    |4  5  6  8  2|
    |5  9  1  4  1|

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题