标题:求一个二维数组中每行的最大值和每行的和。
只看楼主
一帘幽梦tan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-5-19
结帖率:0
已结贴  问题点数:20 回复次数:10 
求一个二维数组中每行的最大值和每行的和。
#include <stdio.h>
int random(int number);
fun(int a[5][5],int b[5],int c[5])
{
  int  i,j,k,s=0;
  for(i=0;i<5;i++)
  {

    k=a[i][0]; s=0 ;
    for(j=0;j<5;j++)
    {       if(k<a[i][j]) k=a[i][j] ;
       s=s+a[i][j];
    }
    b[i]=k;
       c[i]=s ;
  }
}



void main(void)
{
  int a[5][5],b[5],c[5],i,j,k,s=0;
  for(i=0;i<5;i++)
    for(j=0;j<5;j++)
      a[i][j]=random(40)+20;
void  fun(a,b,c);
for(i=0;i<5;i++)
  {
    for(j=0;j<5;j++)
            printf("%5d", a[i][j] );
    printf("%5d%5d",b[i],c[i]);
    printf("\n");
  }
}



本题我弄了好久怎么老是出错,求大神看看,其要求是:功能:求一个二维数组中每行的最大值和每行的和。
搜索更多相关主题的帖子: void include number 最大值 
2013-05-19 13:19
黄辉
Rank: 4
等 级:业余侠客
帖 子:106
专家分:255
注 册:2013-4-28
得分:3 

fun(int a[5][5],int b[5],int c[5])
void  fun(a,b,c);
你定义的返回值类型是什么啊????

你不勇敢,谁替你坚强。。。
2013-05-19 14:04
一帘幽梦tan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-5-19
得分:0 
回复 2楼 黄辉
那怎么改
2013-05-19 14:17
一帘幽梦tan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-5-19
得分:0 
回复 3楼 一帘幽梦tan
老师原题是这样的功能:求一个二维数组中每行的最大值和每行的和。
#include <stdio.h>
/***********SPACE***********/
【?】
 fun(int a[5][5],int  b[5],int  c[5])
{
  int  i,j,k,s=0;
  for(i=0;i<5;i++)
  {
    /***********SPACE***********/
    k=a[i][0]; 【?】 ;
    for(j=0;j<5;j++)
    {
       /***********SPACE***********/
       if(k<a[i][j]) 【?】 ;
       s=s+a[i][j];
    }
    b[i]=k;
    /***********SPACE***********/
    【?】 ;
  }
}



void main(void)
{
  int a[5][5],b[5],c[5],i,j,k,s=0;
  for(i=0;i<5;i++)
    for(j=0;j<5;j++)
      a[i][j]=random(40)+20;
void  fun(a,b,c);
for(i=0;i<5;i++)
  {
    for(j=0;j<5;j++)
       /***********SPACE***********/
       printf("%5d", 【?】 );
    printf("%5d%5d",b[i],c[i]);
    printf("\n");
  }
}
2013-05-19 14:19
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:3 
回复 4楼 一帘幽梦tan
这样给的肯定不对,填空题也不能有这么多错误吧!fun函数在定义的时候连类型都没有,调用也不对,random这个请指教,我都是rand

Maybe
2013-05-19 19:42
zhanyuan1
Rank: 1
等 级:新手上路
帖 子:4
专家分:8
注 册:2013-5-17
得分:3 
我是个新手,但是一眼就看出来 fun() 是个自定义函数,应该有返回值类型,还的return下....

岁月静好,温和从容!
2013-05-19 19:46
zhangshifeng
Rank: 2
等 级:论坛游民
帖 子:24
专家分:57
注 册:2013-5-19
得分:3 
C语言学习交流群:280768274
2013-05-19 21:25
燃高
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:140
注 册:2011-12-13
得分:3 
#include <stdio.h>
/***********SPACE***********/
#include<math.h>
fun(int a[5][5],int  b[5],int  c[5])
{
  int  i,j,k,s=0;
  for(i=0;i<5;i++)
  {
    /***********SPACE***********/
    k=a[i][0];
    s=0;
    for(j=0;j<5;j++)
    {
       /***********SPACE***********/
       if(k<a[i][j])
           k=a[i][j];
       s=s+a[i][j];
    }
    b[i]=k;
    /***********SPACE***********/
    c[i]=s ;
  }
}



void main(void)
{
  int a[5][5],b[5],c[5],i,j,k,s=0;
  for(i=0;i<5;i++)
    for(j=0;j<5;j++)
      a[i][j]=rand()%40+20;
 fun(a,b,c);
for(i=0;i<5;i++)
  {
    for(j=0;j<5;j++)
       /***********SPACE***********/
       printf("-%5d", a[i][j] );
    printf("----%5d---%5d",b[i],c[i]);
    printf("\n");
  }
}
这个程序能实现你的想法呢!!!!
2013-05-19 23:26
燃高
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:140
注 册:2011-12-13
得分:0 
加了一个math的头文件 以及改了一下rand() 没有改别的!!!!那个random 我也不怎么会!!!知道了 顺便告诉我一下嗯!!!!
2013-05-19 23:27
zhaoxianghua
Rank: 2
等 级:论坛游民
帖 子:10
专家分:25
注 册:2013-4-26
得分:3 
#include<stdio.h>
main()
{
    void max(int a[5][5]); /*用这个函数获取每行最大的那个元素并输出*/
    void sum(int a[5][5]); /*用它获取每行的和并输出*/
    int a[5][5],i,j;
    printf(" please input\n");
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        scanf("%d",&a[i][j]);
    }
    max(a);
    sum(a);
    getchar();/*为了获取输入数列数据后的按下的回车键这样你就可以看到运行结果了*/
    getchar();/*按任意键运行窗口关闭*/
    return(0);
}

void max(int a[5][5])
{
    int i,j,d;
    for(i=0;i<5;i++)
    {
        for(j=0;j<4;j++)
        {
            if(a[i][j]<a[i][j+1])
            d=j+1;   
            else d=j; /*s这是为了得到这行最大的哪个元素所在的列*/
        }
        printf("the a[%d] max is a[%d][%d]=%d\n",i,i,d,a[i][d]);
    }
    printf("\n\n");
}

void sum(int a[5][5])
{
    int i,j,m=0;
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            m=m+a[i][j];
        }
        printf("the a[%d] sum is %d\n",i,m);               
    }
}
试试这个 同为新手这个可能更适合你 我是刚写的
2013-05-20 00:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407475-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.096127 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved