C语言学习记录(5)偶数求和

C语言学习记录

学校OJ上的题目

偶数求和

题目描述
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
输入描述
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
输出描述
对于每组输入数据,输出一个平均值序列,每组输出占一行。
输入样例
3 2
4 2
输出样例
3 6
3 7

解题:

#include <stdio.h>

int main(int argc, char **argv) {
    int n,m;
    while(~scanf("%d",&n))
    {
        scanf("%d",&m);
        int i,b=0,a=0,k=0,sum=0;
        int avg;
        for(i=0;i<n;i++)
        {
            a=a+2;
            sum=sum+a;
            k++;
            while(k==m)
            {
                avg=sum/m;
                b++;
                if(n%m!=0)
                {
                    printf("%d ",avg);
                }else
                {
                    printf("%d",avg);
                    if(b!=(n/m))
                    {
                        printf(" ");
                    }else
                    {
                        printf("\n");
                    }
                }
                k=0;
                sum=0;
            }
        }
        if(sum!=0)
        {
            printf("%d\n",sum/k);
        }
        
    }
    return 0;
}

注意:

  1. 输出的格式(判断何时加空格何时加回车)

猜你喜欢

转载自blog.csdn.net/Hyena__/article/details/83118632