程序设计第八题 每m个数求平均值

Problem Description

有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。

Input

输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。

Output

对于每组输入数据,输出一个平均值序列,每组输出占一行。

第八题:高手指点的题,我不会。

#include<iostream>
#include<cmath>
#include<cstdio>
#include<algorithm>
using namespace std;
int main(){
 int n,m,i=0,a[101],b[101],s=0,h=0,o,v=0;
 while(cin>>n>>m){
       while(i<=n){
    i++;
    a[i]=i*2;
    }
    if(n<=m){
     for(int j=1;j<=n;j++)
     s=s+a[j];
     cout<<s/n<<endl;
     }
     if(n>m){
      o=n;
      for(int p=1;p<=n;p++){
       h++;s=s+a[p];
       if(h==m){
        v++;
        b[v]=s/m;
        h=0;s=0;
        o=o-m;
        }
        if(o<=m){v++;break;}
        }
        for(int y=(n-o)+1;y<=n;y++)
         s=s+a[y];
         b[v]=s/o;
   for(int f=1;f<=v;f++){
    if(f<v)cout<<b[f]<<" ";
    if(f==v)cout<<b[v]<<endl;
    }
    }
    s=0;h=0;v=0;
    }
    return 0;
    }
      

相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页