| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 292 人关注过本帖
标题:二维数组
只看楼主 加入收藏
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:6 
二维数组
#include<stdio.h>
#include<stdlib.h>
#define N 5
#define M 6
void getdata(int(*)[M]);
void lineave(int[][M],float *);
void outdata(int[N][M],float *);
main()
{
int r[N][M];
float ave[N];
getdata(r);
lineave(r,ave);
outdata(r,ave);
}
void getdata(int(*sp)[M])
{
int i,j,x;
for(i=0;i<N;i++)
{
j=0;
while(j<M)
{
x=rand()%41;
if(x>10)
{
sp[i][j]=x;
j++;
}
}
}
}
void lineave(int s[][M],float *a)
{
int i,j;
for(i=0;i<N;i++)
{
ave=0.0;
for(j=0;j<M;j++)
ave=ave+s[i][j];
a[i]=ave/M;
}
}
void outdata(int sp[N][M],float a[])
{
int i,j;
printf("output the result:\n");
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
printf("%4d",sp[i][j]);
printf("%6.2d\n",a[i]);
}
putchar("\n")
}随机抽取10到40中的数字组成5行6列的  并打印出每个数字及每行平均值
哪错了
搜索更多相关主题的帖子: void include 
2012-03-17 15:48
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
你自己调了哇丶把思路好好理一边     自己调过的感觉很爽的丶你试试

编程之路定要走完……
2012-03-17 18:14
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:20 
程序代码:
 #include<stdio.h>

 #include<stdlib.h>


 #define N 5

 #define M 6


 void getdata(int(*sp)[M]);

 void lineave(int[][M],float *);

 void outdata(int[N][M],float *);


 void main()

 {
     int r[N][M];
     float ave[N];
   
     getdata(r);
     lineave(r,ave);
     outdata(r,ave);

 }

 void getdata(int(*sp)[M])

 {
     int i,j,x;
     for (i = 0;i < N;i++)
     {
        j = 0;
        while(j < M)
        {
           x = rand() % 40;
           if (x > 10)
           {
              sp[i][j] = x;
               j++;
            }
         }
      }

 }

 void lineave(int s[][M],float *a)

 {
      int i,j;
      float ave;
      for (i = 0;i < N;i++)
      {
          ave = 0.0;
          for (j = 0;j < M;j++)
             ave = ave + s[i][j];
          a[i] = ave / M;
       }

 }

 void outdata(int sp[N][M],float a[])

 {
     int i,j;
   
     printf("output the result:\n");
     for (i = 0;i < N;i++)
     {
         for (j = 0;j < M;j++)
            printf("%4d",sp[i][j]);
         printf("\t");
         printf("%6.2f\n",a[i]);
     }
     printf("\n");

 }

好了!你自己比较着看一下

最基础的往往是你最容易忽略的!
2012-03-17 18:52
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
收藏
得分:0 
回复 3楼 于祥
谢谢 明白了 哎  自己找就是找不到 懒 分给你了 谢谢你
2012-03-17 20:16
sunlang1234
Rank: 2
等 级:论坛游民
帖 子:47
专家分:77
注 册:2012-2-24
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
#define N 5
#define M 6
void getdata(int(*)[M]);
void lineave(int[][M],float *);
void outdata(int[N][M],float *);
int main(void)
{
    int r[N][M];
    float ave[N];
    getdata(r);
    lineave(r,ave);
    outdata(r,ave);
    return 0;
}
void getdata(int(*sp)[M])
{
    int i,j,x;
    for(i=0;i<N;i++)
    {
    j=0;
    while(j<M)
    {
        x=rand()%41;
        if(x>10)
        {
            sp[i][j]=x;
            j++;
        }
    }
    }
}
void lineave(int s[][M],float *a)
{
    int i,j;
    float ave;
    for(i=0;i<N;i++)
    {
        ave=0.0;
        for(j=0;j<M;j++)
        ave=ave+s[i][j];
        a[i]=ave/M;
    }
}
void outdata(int sp[N][M],float a[])
{
    int i,j;
    printf("output the result:\n");
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
            printf("%4d",sp[i][j]);
            printf("%6.2d\n",a[i]);
    }
    putchar('\n');
}
2012-03-17 23:36
sunlang1234
Rank: 2
等 级:论坛游民
帖 子:47
专家分:77
注 册:2012-2-24
收藏
得分:0 
函数lineave中ave先开始没定义,不可以使用。 putchar('\n');打印字符不能用“”号。
2012-03-17 23:39
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
不会看调试信息,不如不学,浪费时间

总有那身价贱的人给作业贴回复完整的代码
2012-03-18 00:19
快速回复:二维数组
数据加载中...
 
   



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

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