杭电oj2011多项式求和 运行正确为什么通不过

#include "stdio.h"

int main()
{
int n,m,i,j,s=-1;
float sum=0;
while(scanf("%d",&m)!=EOF)
{

    for( i=1; i<=m; i++ )
    {
        scanf("%d",&n);
        for( j=1; j<=n; j++ )
        {
            sum=0;
            s*=-1;
            sum+=(float)s*1/j;
        }

           printf("%.2f\n",sum);
    }


}

}

你是用什么编译的?我复制你的代码,在VS2012下运行、输入输出结果都没错,只做了点改动

#include "stdafx.h"
    #include "stdio.h"

    int main()
    {
    int n,m,i,j,s=-1;
    float sum=0;
    while(scanf_s("%d",&m)!=EOF)
    {

        for( i=1; i<=m; i++ )
        {
            scanf_s("%d",&n);
            for( j=1; j<=n; j++ )
            {
                sum=0;
                s*=-1;
                sum+=(float)s*1/j;
            }

               printf("%.2f\n",sum);
        }


    }
       return 0;
    } 
 #include "stdio.h"
int main()
{
    int n,m,i,j,s=-1;
    float sum=0;
    while(scanf("%d",&m)!=EOF)
    {
        for( i=1; i<=m; i++ )
        {
            scanf("%d",&n);
            sum=0; s=-1;//修改
            for( j=1; j<=n; j++ )
            {
                //sum=0; 修改
                s*=-1;
                sum+=(float)s*1.0/j;//修改
            }
            printf("%.2f\n",sum);
        }
    }
}

因为你只通过了部分测试数据,没有通过后台的全部数据,考虑特殊数据和边界数据的处理