HDOJ2015偶数求和

偶数求和

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 42608    Accepted Submission(s): 18620


Problem 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
 

 

Author
lcy

 解题报告:

这个题目是参考的别人的代码。用count变量记录是否到m。此题容易出现PE。在if else if时候要先处理到末尾的情况,将if(i == n)写在else if(m == count)前面。同时要注意对变量的初始化和清零。

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int n,m;
 6     while (scanf("%d %d",&n,&m)!=EOF)
 7     {
 8         int i,count = 0,tmp = 0,sum = 0;
 9         for (i=1;i<=n;i++)
10         {
11             count++; tmp += 2;
12             sum += tmp;
13             if (i == n)
14             {
15                 printf("%d\n",sum / count);
16             }
17             else if (count == m)
18             {
19                 printf("%d ",sum / m);
20                 count = 0; sum =0;
21             }
22         }
23     }
24     return 0;
25 }

 

你可能感兴趣的:(OJ)