| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 758 人关注过本帖
标题:text
只看楼主 加入收藏
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
结帖率:98.33%
收藏
 问题点数:0 回复次数:9 
text
text


[此贴子已经被作者于2016-4-11 02:14编辑过]

收到的鲜花
  • 林月儿2015-06-05 21:02 送鲜花  49朵   附言:争取更大进步
2015-06-03 18:08
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
额,楼主说的有道理
程序代码:
#include<stdio.h>

#define ROWS 3
#define COLS 5

void iput_arr(double arr[][COLS], int row);
void show_arr(double arr[][COLS], int row);
double aver_arr(double arr[][COLS], int row);

int main(void){
    double array[ROWS][COLS];
    iput_arr(array,ROWS);
    show_arr(array,ROWS);
    aver_arr(array,ROWS);
   
    return 0;

}

void iput_arr(double arr[][COLS], int row){
    int ro,co;
   
    printf("请输入3个数组,每个数组5元素:\n");
    for(ro=0;ro<row;ro++)
    {
        for(co=0;co<COLS;co++)
        {
           // scanf("%lf",&arr[ro][co]);
           arr[ro][co]=ro*COLS+co+1;
        }
    }
}

void show_arr(double arr[][COLS],int row){
    int ro,co;

    printf("a.\n");
    printf("您输入的3个数组元素是:\n");
    for(ro=0;ro<row;ro++){
        for(co=0;co<COLS;co++)
        {
            printf("%g\t",arr[ro][co]);
        }
        printf("\n");
    }
}

double aver_arr(double arr[][COLS], int row){
    double average[COLS]={0},average_total=0;
    double max=arr[0][0];
    int ro,co;

    for(ro=0;ro<row;ro++){
        for(co=0;co<COLS;co++){
            average[ro]+=arr[ro][co]/COLS;
            average_total+=arr[ro][co];
            if(max<arr[ro][co])
            {
                max=arr[ro][co];
            }
        }
    }
    average_total/=ROWS*COLS;
    printf("b.\n");
    for(co=0;co<row;co++){
        printf("数组%d的平均值是%g\n",co+1,average[co]);
    }
    printf("c.\n");
    printf("3个数组的平均值是%g\n",average_total);
    printf("d.\n");
    printf("3个数组的最大值是%g\n",max);
}
收到的鲜花
  • hjx11202015-06-15 22:27 送鲜花  5朵  

剑栈风樯各苦辛,别时冰雪到时春
2015-06-03 18:48
醉祁今朝
Rank: 2
等 级:论坛游民
威 望:1
帖 子:48
专家分:76
注 册:2015-5-18
收藏
得分:0 
顶 要自己多想想

多艰难 都要走下去
2015-06-04 11:34
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
自己想出来才是自己的。我多次说过,新手尤其不要一开口就讨代码。

授人以渔,不授人以鱼。
2015-06-04 11:39
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
回复 4楼 TonyDeng
https://bbs.bccn.net/thread-446172-1-1.html
刚说完就,版主快劝劝

剑栈风樯各苦辛,别时冰雪到时春
2015-06-04 12:30
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
回复 2楼 林月儿
看了您的代码,受到了一些启发,我打算又重写了代码,重写后的代码:
程序代码:
#include<stdio.h>

#define ROWS 3
#define COLS 5

void col_arr(double arr[], int n);
void show_arr(int rows, int cols, double arr[rows][cols]);
double aver_cols_arr(const double arr[], int n);
double aver_sum_arr(int rows, int cols, double arr[rows][cols]);
double max_arr(int rows, int cols, double arr[rows][cols]);
int main(void)
{
    double array[ROWS][COLS];
    int row;
  
    for(row=0;row<ROWS;row++)
    {
        printf("请输入数组%d中的%d个元素:\n",row+1,COLS);
        col_arr(array[row],COLS);
    }
    show_arr(ROWS,COLS,array);
    for(row=0;row<ROWS;row++)
    {
        printf("数组%d的平均值是%g\n",row+1,aver_cols_arr(array[row],COLS));
    }  
    printf("3个数组的平均值是:%g\n",aver_sum_arr(ROWS,COLS,array));
    printf("3个数组最大元素是:%g\n",max_arr(ROWS,COLS,array));    

    return 0;
}

void col_arr(double arr[],int n)
{
    int co;
   

    for(co=0;co<n;co++)
    {
        printf("元素%d:",co+1);
        scanf("%lf",&arr[co]);
    }
}

void show_arr(int rows, int cols, double arr[rows][cols])
{
    int ro,co; 

    for(ro=0;ro<rows;ro++)
    {
        for(co=0;co<cols;co++)
        {
            printf("%g  ",arr[ro][co]);
        }
        printf("\n");
    }
}

double aver_cols_arr(const double arr[], int n)
{
    int co;
    double sum=0.0;
  
    for(co=0;co<n;co++)
    {
        sum+=arr[co];
    }

    return sum/n;
}

double aver_sum_arr(int rows, int cols, double arr[rows][cols])
{
    int ro,co;
    double sum=0.0;
   

    for(ro=0;ro<rows;ro++)
    {
        for(co=0;co<cols;co++)
        {
            sum+=arr[ro][co];
        }
    }
  
    return (sum/(rows*cols));
}

double max_arr(int rows, int cols,double arr[rows][cols])
{
    int ro,co;
    double max=arr[0][0];
  
    for(ro=0;ro<rows;ro++)
    {
        for(co=0;co<cols;co++)
        {
            if(max<arr[ro][co])
            {
                max=arr[ro][co];
            }
        }
    }
    return max;
}
难到这就是传说中的VLA





2015-06-04 14:59
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
应该还可以改,恩,就这样吧
程序代码:
#include<stdio.h>
#define ROWS 3
#define COLS 5
void col_arr(double arr[], int n);
void show_arr(int rows, int cols, double arr[ROWS][COLS]);
double aver_cols_arr(const double arr[], int n);
double aver_sum_arr(int rows, int cols, double arr[ROWS][COLS]); 
int main(void){
    double array[ROWS][COLS];
    int row;  
    for(row=0;row<ROWS;row++){
        printf("请输入数组%d中的%d个元素:\n",row+1,COLS);
        col_arr(array[row],COLS);
    }
    show_arr(ROWS,COLS,array);
    for(row=0;row<ROWS;row++)
        printf("数组%d的平均值是%g\n",row+1,aver_cols_arr(array[row],COLS));
    printf("3个数组的平均值是:%g\n",aver_sum_arr(ROWS,COLS,array));   
    return 0;
}
void col_arr(double arr[],int n){
    int co;  
    for(co=0;co<n;co++){
        printf("元素%d:",co+1);
        scanf("%lf",&arr[co]);
    }
}
void show_arr(int rows, int cols, double arr[ROWS][COLS]){
    int ro,co;
    double max=arr[0][0]; 
    for(ro=0;ro<rows;ro++){
        for(co=0;co<cols;co++){
            printf("%g  ",arr[ro][co]);
            if(max<arr[ro][co]){
                max=arr[ro][co];
            }
        }
        printf("\n");
    }
    printf("3个数组最大元素是:%g\n",max); 
}
double aver_cols_arr(const double arr[], int n){
    int co;
    double sum=0.0;
    for(co=0;co<n;co++)
        sum+=arr[co];
    return sum/n;
}
double aver_sum_arr(int rows, int cols, double arr[ROWS][COLS]){
    int ro,co;
    double sum=0.0;
    for(ro=0;ro<rows;ro++)
        sum+=aver_cols_arr(arr[ro],cols)*cols;
    return (sum/(rows*cols));
} 

剑栈风樯各苦辛,别时冰雪到时春
2015-06-04 17:55
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
回复 7楼 林月儿
您的代码风格好节约空间呀~!
2015-06-04 21:36
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
回复 8楼 hjx1120
请不要用您这个字眼,代码量越少出错的时改错的工作量就少。
当然这也许是不自信的表现。但本人毕竟是小白。

剑栈风樯各苦辛,别时冰雪到时春
2015-06-04 21:57
你欠我人情
Rank: 2
等 级:论坛游民
威 望:1
帖 子:46
专家分:52
注 册:2015-6-5
收藏
得分:0 
头已经晕了

我是小白我是小白我是小白我是小白我是小白我是小白
2015-06-05 20:57
快速回复:text
数据加载中...
 
   



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

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