看来我的英语水平是真的掉到底部了,每次做题都是因为读不懂而花了我好长时间,这次这个题在输出格式上又让我下了一大番功夫,我看题意是在输如n之后要输出一个空白行啊,可是交上去就是不对,但是把那个空白行删除就对了,郁闷啊!
#include<stdio.h>
int main()
{
int n,i,sum,m,j;
scanf("%d",&n);
for(j=1;j<=n;j++)
{
while(1)
{
scanf("%d",&m);
if(m==0)
break;
printf("%d ",m);
i=1;
sum=0;
while(i*(i+1)/2<=m)
{
sum=sum+i*i;
i++;
}
sum=sum+(m-i*(i-1)/2)*i;
printf("%d\n",sum);
}
if(j!=n)
printf("\n");
}
return 0;
}