注册 登录
编程论坛 数据结构与算法

寻求帮助,为何行不通

魔道生死逆动 发布于 2012-11-28 09:57, 367 次点击
#include<stdio.h>
float average1(int ss)
{
    int i,j,sum=0;
    int b[10];
    for(i=0;i<10;i++)
        for(j=0;j<5;j++)
        {
            sum=sum+ss[i][j];
            if(j==5)
            ss[i]=sum/5;
                break;
        
        }
        
        return b;//返回数组
}

float average2 (int ss)
{
  
    int i,j,sum=0;
    int ss[10];
    for(j=0;j<5;j++)
    {
        
        for(i=0;i<10;i++)
        {
            sum=sum+ss[i][j];
        if(i==10)
             b[j]=sum/10;
                break;
            
        }
   
     }
    return b;//返回数组
}


int max(int ss)
{
   
    int max,i,j;
    max=ss[0][0];
    for(i=0;i<10;i++)
        for(j=0;j<5;j++)
        {
           if(max<ss[i][j])
           {
               t=max;
               max=ss[i][j];
               ss[i][j]=t;

           }
        }

              h=i+1;
              l=j+1;
        
        printf("max=%d,%d,%d",max,h,l);

}












int main()
{
   

    int i,j;
    int ss[10][5];
    printf("input the array\n");
    for(i=0;i<10;i++)
        for(j=0;j<5;j++)
            scanf("%d",&ss[i][j]);
        
         average1=average1();
             average2=average2();
             max=max();
        
        
        
        
        
        printf("%d\n,%d\n,%d\n",avera1,average2,max);


    return 0;


}
1 回复
#2
凌云飞翔2012-11-28 12:17

求的是每行的平均数和每列的平均数,不知道是不是这意思,帮你改了一下,看一下吧,有疑惑事在讨论
程序代码:
#include <stdio.h>

 void fun1(int (*ss)[5],float *b)

 {
     int i,j,sum=0;
  
     for(i=0;i<10;i++)
         for(j=0;j<5;j++)
         {
             sum=sum+ss[i][j];
             if(j==4)
             {
                 b[i]=(float)sum/5;
                  sum=0  ;
             }
               
      
         }
      
     

 }

void fun2 (int (*ss)[5],float *b)

 {

 
     int i,j,sum=0;
  
     for(j=0;j<5;j++)
  
        for(i=0;i<10;i++)
         {
             sum=sum+ss[i][j];
         if(i==9)
         {
             b[j]=(float)sum/10;
         
             sum=0 ;
      
   
        }
   

 }
}


void max (int (*ss)[5])
{  int max ,i,j,h,l,m=0,n=0;
     for(i=0;i<10;i++)
         for(j=0;j<5;j++)
            if(ss[m][n]<ss[i][j])
            {   m=i ;
                n=j ;
         
            }
            printf("max=%d,行:%d,列:%d\n",ss[m][n],m+1,n+1);
}

 main()
{  int i,j,ss[10][5];
   
     float average1[10] ,average2[5] ;
     printf("请输入50个数据:\n");
     for(i=0;i<10;i++)
         for(j=0;j<5;j++)
             scanf("%d",&ss[i][j]);
         printf ("输出为:\n") ;
          for(i=0;i<10;i++)
          { for(j=0;j<5;j++)
            printf ("%5d",ss[i][j]) ;
          printf ("\n") ;
          }
          fun1 (ss,average1) ;
          printf("输出每行平均数:\n") ;
          for (i=0;i<10;i++)
          { printf ("%d  :  %f  ", i+1,  average1[i]  ) ;
              printf ("\n") ;
          }
            fun2(ss,average2);
                printf("输出每列平均数:\n") ;
          for (i=0;i<5;i++)
          { printf ("%d  :  %f  ", i+1,  average2[i]  ) ;
              printf ("\n") ;
          }
              max(ss);

 }
     

 



1