感谢海岛的思路...海岛Blog
问题链接:HDU2015 偶数求和。入门训练题,用C语言编写程序。
问题简述:参见上述链接。
问题分析:这个问题是对n项的等差数列(公差为2),每m项计算一个平均值输出。
程序说明:程序的关键有以下几点:
1.使用模除 模除运算在C语言中用取余运算符%来实现。
2.循环控制 包括两个循环。
3.输出控制 各项间有间隔空格,行最后没有空格。
#include<stdio.h>
int main() {
int n , m ;
while( scanf("%d%d" , &n , &m ) != EOF ) {
int sum = 0 , a = 2 , i ;
for(i=1 ; i<=n ; i++ ) {
sum += a ; //第1项为2,公差为2
a += 2 ;
if( i % m == 0 ) { //求和项达到m项,则计算平均值并输出
printf( "%d" , sum / m ) ;
sum = 0 ;//和清零
if( i != n ) printf(" ") ;
}
}//最后一个平均值:如果n是m的倍数则最后一项已经输出,换行
if( n%m == 0 ) printf("\n") ;//否则输出最后一项.换行.
else printf("%d\n" , sum / ( n%m ) ) ;
}
return 0 ;
}