#include <iostream>
using namespace std;
int main()
{
int n, m;
while(cin >> n >> m)
{
int sum = 0;
int a[n+1] = {0};
bool flag = true;
for(int i=1; i<=n; i++)
{
a[i] = i*2;
}
for(int i=1; i<=n; i++)
{
sum += a[i];
if(i%m == 0 && flag)
{
cout << sum/m;
sum = 0;
flag = false;
}
else if(i%m == 0)
{
cout <<" " << sum/m;
sum = 0;
}
}
int x = n%m;
if(x != 0)
{
cout << " " << sum/(n%m);
}
cout <<endl;
}
return 0;
}
控制格式输出,最后的时候和不为零时,需要另外输出。。。
每次都赋值一遍显然和麻烦,不如直接初始化该数组。。。
#include <iostream>
using namespace std;
int main()
{
int n, m;
int a[100] = {0};
for(int i=0; i<100; i++)
a[i] = 2*(i+1);
while(cin >> n >> m)
{
int sum = 0;
bool flag = true;
for(int i=0; i<n; i++)
{
sum += a[i];
if((i+1)%m == 0 && flag)
{
cout << sum/m;
sum = 0;
flag = false;
}
else if((i+1)%m == 0)
{
cout <<" " << sum/m;
sum = 0;
}
}
//最后时刻sum的值刚好是剩下的几个<m的元素的和,
//故只需要计算其个数即可
if(n%m)
{
cout << " " << sum/(n%m);
}
cout <<endl;
}
return 0;
}