2 supersuperna supersuperna 于 2016.03.07 20:34 提问

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

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

2个回答

u013596119
u013596119   Rxr 2016.03.07 21:46
已采纳

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;
        }
    }
} 
bealing
bealing   Rxr 2016.03.07 20:42

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!