| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1191 人关注过本帖
标题:编写一个程序,提示用户输入三个数集,每个数集包含 5 个数集,计算出每个数 ...
只看楼主 加入收藏
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
结帖率:91.67%
收藏
 问题点数:0 回复次数:10 
编写一个程序,提示用户输入三个数集,每个数集包含 5 个数集,计算出每个数集的平均数
什么时候提示输入数据完成呢。并进入下一步均值计算呢
程序代码:
#include <stdio.h>
#define M 3
#define N 5 
int main(void)
{
    int i,j;int ave=0;
    printf("Input three number set:\n");
    int a[M][N];
    for(i=0;i<M;i++)
    {
        for(j=0;j<N;j++)
        scanf("%d",&a[i][j]);        
    }
    for(i=0;i<M;i++)
    {
       average(a,i);
       printf("%5.2f",ave);
    }
}
float average(int(*p)[5],int h)//h是第几行的均值
{
    int ave=0,sum=0;int j;
    for(j=0;j<N;j++)
        sum+=*(*(p+h)+j);
    ave=sum/5;
    return ave;
}


[ 本帖最后由 longxingxiu 于 2014-5-8 15:55 编辑 ]
搜索更多相关主题的帖子: 下一步 平均数 用户 
2014-05-06 18:26
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:0 
先编译一下你的程序,改掉所有错误。运行程序,输入15个数就会自动计算了。ave应该是实型的,函数调用,应该赋给ave。
2014-05-06 21:51
破灬王
Rank: 2
等 级:论坛游民
帖 子:12
专家分:18
注 册:2014-1-17
收藏
得分:0 
你那个 int main应该要返回值的哦  void main应该就行了
2014-05-06 22:30
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用longxingxiu在2014-5-6 18:26:57的发言:

编写一个程序,提示用户输入三个数集,每个数集包含 5 个书记,计算出每个书籍的平均数


标题都打错了 太不应该了

DO IT YOURSELF !
2014-05-07 08:29
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 3 楼 破灬王
main括号后面有void啦
2014-05-08 15:56
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 4 楼 wp231957
嗯嗯,下次不会啦。
2014-05-08 15:56
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 楼主 longxingxiu
改正了可以了,主要是printf函数写错了,直接输出ave是不行的,average是有返回的,直接输出这个函数代表的就是返回值,唉,基础不牢啊,谢谢各位的批评指教了
程序代码:
#include <stdio.h>
#define M 3
#define N 5 
float average(int(*p)[5],int h);
int main(void)
{
    int i,j;int ave=0;
    printf("Input three number groups:\n");
    int a[M][N];
    for(i=0;i<M;i++)
    {
        for(j=0;j<N;j++)
        scanf("%d",&a[i][j]);        
    }
    
    for(i=0;i<M;i++)
    {
       printf("the average of the %d group is:%5.2f\n",i+1, average(a,i));
       //printf("%5.2f",ave);//注意如果给出的用下面这条输出,结果将是0,因为average是有返回值的函数,函数本身就是返回的值
                             //ave不能够返回,要返回average函数中的变量并且在main函数中输出,只能用指针存储并且在其他函数中使用
    }
}
float average(int(*p)[5],int h)//h是第几行的均值,二维指针指向二维数组
{
    float ave=0.0,sum=0.0;int j;
    for(j=0;j<N;j++)
        sum+=*(*(p+h)+j);
    ave=sum/5;
    return ave;
}
2014-05-08 15:58
书生等待
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:280
专家分:689
注 册:2013-2-22
收藏
得分:0 
2014-05-08 15:59
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 8 楼 书生等待
嗯嗯,知道了,改过来了上面
2014-05-08 16:04
寂__痴
Rank: 2
等 级:论坛游民
帖 子:34
专家分:23
注 册:2014-4-25
收藏
得分:0 
int main 不用在最后面写return 0; ?
还有,如果楼主直接输出average(a,i),那上面的int aver=0;也就可以省略了。

C语言之路,慢慢走,慢慢领悟,才是硬道理!
2014-05-08 18:06
快速回复:编写一个程序,提示用户输入三个数集,每个数集包含 5 个数集,计算出 ...
数据加载中...
 
   



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

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