| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 685 人关注过本帖
标题:刚入门,没看懂,请会的人指教一下,谢谢
取消只看楼主 加入收藏
whibla
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2012-8-1
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
刚入门,没看懂,请会的人指教一下,谢谢
/*有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,
现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。
编程输出该平均值序列。*/

#include<stdio.h>
int main()
{
    int m,n,i,line[104],s,j,h;
    int aver1,aver2;
    while( scanf( "%d%d",&n,&m ) != EOF )
    {
        line[0]=2;
        for( i = 1; i < n; i++ )
            line[i]=line[i-1]+2;
        h = n % m;//这是什么
        for( j = 0; j < n / m; j++ )//为什么要是n/m
        {
            s = 0;
            for( i = j * m; i < (j+1) * m; i++ )//好复杂,没看懂
                s = line[i] + s;
            aver1 = s / m;
            if( j == 0 )
                printf( "%d",aver1 );
            else printf( " %d",aver1 );
        }
        if( h != 0 )
        {
            s = 0;
            for( i = n - h; i < n;i++ )
                s = s + line[i];
            aver2 = s / h;
            printf( " %d",aver2 );
        }
        printf( "\n" );
    }
    return 0;
}
搜索更多相关主题的帖子: include 平均值 
2012-08-03 09:16
whibla
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2012-8-1
收藏
得分:0 
谢谢,刚才看到这程序感到心烦,你一说关键的地方,剩下的看懂了,
2012-08-03 10:09
whibla
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2012-8-1
收藏
得分:0 
还有一个问题,假如输入的数据 n<m,那怎么办呢
2012-08-03 10:13
whibla
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2012-8-1
收藏
得分:0 
   if( h != 0 )
        {
            s = 0;
            for( i = n - h; i < n;i++ )
                s = s + line[i];
            aver2 = s / h;
            printf( " %d",aver2 );这个地方输出的时候会先有一个空格,严格来讲这是不允许的吧
        }
2012-08-03 14:26
whibla
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2012-8-1
收藏
得分:0 
结果是通过了,
2012-08-03 16:25
快速回复:刚入门,没看懂,请会的人指教一下,谢谢
数据加载中...
 
   



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

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