1181: 零起点学算法88——偶数求和
Time Limit: 1 Sec Memory Limit: 32 MB 64bit IO Format: %lldSubmitted: 1781 Accepted: 540
[Submit][Status][Web Board]
Description
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
Input
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
Output
对于每组输入数据,输出一个平均值序列,每组输出占一行。
Sample Input
3 2
4 2
Sample Output
3 6 3 7
参考代码:
1 #include<stdio.h> 2 3 int main() 4 { 5 int a[100]; 6 for(int i=0;i<100;i++) //构建好偶数序列 7 { 8 a[i]=2*i+2; 9 } 10 int n,m; 11 while(scanf("%d%d",&n,&m)!=EOF) 12 { 13 int i; 14 for(i=0;i+m<n;i+=m) //每m个数相加并求平均值 15 { 16 int sum=0; 17 for(int j=0;j<m;j++) 18 { 19 sum+=a[j+i]; 20 } 21 printf("%d ",sum/m); 22 } 23 int sum=0,ct=0; //剩余不满足m个数相加并求平均值 24 for(;i<n;i++) 25 { 26 sum+=a[i]; 27 ct++; 28 } 29 printf("%d\n",sum/ct); 30 31 } 32 33 return 0; 34 }