东华大学2020考研计算机复试准备上机题解析答案_基础篇(61-93)

前言:

快过年了,我马上也要回家了,可能要停一段时间

如果有问题交流咨询,可以加入QQ群:673852347

85 计算多项式的值

作者: Turbo 时间限制: 1S 章节: 循环

问题描述 :

计算并输出当x<0.97时下列多项式的值,直到最后一项的绝对值小于threshold(该项不包括在多项式的结果中)为止。

在这里插入图片描述
输入说明 :

可输入多组测试数据,每组一行,每组包括两个实数,第一个为x(0.2≤x <0.97),第二个为threshold(≥0.000001),中间以空格分隔。

输出说明 :

对于每组测试数据,输出一行,为计算出的结果,保留6位小数。输出的结果前后均无空格。两组运算结果之间为空行。

输入范例 :

0.2 0.000001
0.21 0.000001
输出范例 :

1.095445

1.100000

AC代码:
注意使用绝对值函数作为终止条件即可,应该是有一个例子的精度大于1了。所以我给了个特判,然后加和就行了

#include<stdio.h>//:Q+_+Q:东华我来喽 2020考研:summershell
#include<math.h>//这不是(1+x)^0.5次方的展开吗?Easy!
int main()
{
    double threshold,x;
    int cou=1;
    while(scanf("%lf %lf",&x,&threshold)!=EOF)
    {//唉!做着做着开始伤感了。就想起了宇哥的话,这类题目我早已熟稔于心
        if(cou++!=1)printf("\n");
        if(threshold>1){printf("0.000000\n");continue;}
        int n=2;
        double sum=1.0,temp=0.5*x;
        while(fabs(temp)>=threshold)
        {
            sum+=temp;
            temp=temp*(0.5-n+1)*x*1.0/n;
            n++;
        }
        printf("%.6f\n",sum);
    }
    return 0;
}

发布了20 篇原创文章 · 获赞 2 · 访问量 526

猜你喜欢

转载自blog.csdn.net/zhou_hao_ran/article/details/104038616