#include
#include
#include
int main()
{
int n,m,sum=0,i;
float t;
while(scanf("%d %d",&n,&m)==2&&n<=100){
int c=0;
int *a=(int *)malloc(sizeof(int)*m);
memset(a,0,sizeof(int)*m);
a[0]=2;
sum=sum+a[0];
for(i=1;i-1]+2;
sum=sum+a[i];
if(i==m-1){
a[0]=a[i]+2;
i=1;
t=(float)sum/m;
printf("%.2f ",t);
sum=a[0];
}
if(c==n-1)break;
}
if(i!=0){
t=(float)sum/i;
printf("%.2f",t);
}
printf("\n");
}
return 0;
}
供参考:
#include <stdio.h>
int main(void)
{
int n, m;
while(scanf("%d%d", &n, &m) != EOF) {
int sum=0, a=2, cnt=0, i;
for(i=1; i<=n; i++) {
sum += a;
a += 2; // 第1项为2,公差为2
if( i % m == 0) {// 求和项达到m项,则计算平均值并输出
printf(cnt++ == 0 ? "%d" : " %d", sum / m);
sum = 0; // 和清零
}
}
// 最后一个平均值:
if(n % m == 0) //如果n是m的倍数则最后一项已经输出,
printf("\n");//换行。
else
printf(cnt == 0 ? "%d\n" : " %d\n", sum / (n % m));//否则输出最后一项。
}
return 0;
}
没看到你怎么用这个n啊
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n,m,k,d=2,sum=0,i;
float t;
while(scanf("%d %d",&n,&m)==2)
{
k=1;
d = 2;
sum = 0;
while(k<=n)
{
sum += d;
d+=2;
if(k%m==0)
{
printf("%d ",sum/m);
sum = 0;
}
else if(k==n)
{
printf("%d ",sum%m);
}
k++;
}
printf("\n");
}
return 0;
}
请看👉 :HDU - 2015 偶数求和