号外号外 acm2011求助求助跪求了

不知道哪里错了快疯了 求大神指点指点 怎么看都对啊 希望大神找出错误谢谢了图片说明图片说明图片说明

ac了
你的算法有误,a=2,然后a=-3,都没错,但是下一步a=-(a+1)=-(-3+1)=2,之后的循环就全错了

#include <stdio.h>
int main(){
    int m;
    int n;
    float num=1;
    int a=2;
    scanf("%d",&m);
    while(m--){
        scanf("%d",&n);
        if(n==1){
            printf("1.00\n");
        }
        if(n>1){
            for(;n>1;){
                if(a%2==0){
                    num=num-1.0/a;
                }else{
                    num=num+1.0/a;
                }
                a++;
                n--;
            }
            printf("%.2f\n",num);
            num=1.0;
            a=2;
        }
    }
} 

num = num-1/a 这里的1/a 换成 1.0/a