求解决-这个题目为什么第二个输入输出是对应的,而第一个输入输出不对应

问题描述

这个题目为什么第二个输入输出是对应的,而第一个输入输出不对应

本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps。
输入格式:
输入在一行中给出一个正实数eps。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例1:
4E-2
输出样例1:
sum = 0.854457
输入样例2:
0.02
输出样例2:
sum = 0.826310#include
#include
#include
int main()
{
int i=1;
double eps;
double j=1.0,k,s=0.0;
scanf("%lf",&eps);
do
{
k=i/j;
i=-i;
j+=3;
s+=k;
}
while(fabs(k)>=eps);
printf("sum = %.6lfn",s);
return 0;
}

解决方案

lz的主要问题是最后一项的绝对值不大于给定精度eps,所以需要在相加以前判断。

解决方案二:

 #include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int  i=1;
    double eps;
    double j=1.0,k,s=0.0;
    scanf("%lf",&eps);
    while(true)
    {
        k=(double)i/j;
        if (fabs(k)<eps) break;
        i=-i;
        j+=3;
        s+=k;
    }
    printf("sum = %.6lfn",s);
    return 0;
}

解决方案三:

j 已经是 double 类型,加 (double)就是脱裤子放屁多此一举!

时间: 2024-10-31 10:50:36

求解决-这个题目为什么第二个输入输出是对应的,而第一个输入输出不对应的相关文章

OSGi原理与最佳实践(精选版)中第二个例子 找不到org.mortbay.jetty 这个Bundle 求解决办法??

问题描述 OSGi原理与最佳实践(精选版)中第二个例子找不到org.mortbay.jetty这个Bundle求解决办法?? 解决方案 解决方案二:看下下面帖子配置http://blog.sina.com.cn/s/blog_9671d5180101r5dg.html

sql-SQL语句求思路求解决,要晓得部门经理叫什么名字

问题描述 SQL语句求思路求解决,要晓得部门经理叫什么名字 这样说吧,要晓得部门名称 也要晓得部门经理叫什么名字 这个部门在1月份来了多少人, 走了多少人,有多少人派遣出去 这种sql语句如何实现? 求各位大神给点sql思路,小弟不才,想不出来~~~ 解决方案 该问题已自行解决.谢谢大家. 解决方案二: 表结构上怎样的 解决方案三: 题目是怎样的啊,只有问题,没有条件怎么写啊 解决方案四: 这个问题,我解决了...谢谢热忱的道友们! 解决方案五: 确实不好回答,没有表结构,不知道相关字段

select-mysql查询优化求解决·

问题描述 mysql查询优化求解决· 像这样一条sql,要查的表数据量大概在90W+ 在where 的第一个条件很快··但是并列到第二个and条件就非常慢··到三个条件查下来基本得3分钟左右···下面是sql SELECT DISTINCT Pid, OrgName, orgCode, bCompetentOrg, bEmployees, b0rgTypeName, bRegType, becoType, bIndustry, AddressIDName, bCertificateDate, b

javaee-求各位大神帮解决一道题目

问题描述 求各位大神帮解决一道题目 解决方案 package com.package1; import java.util.*; public class StuScore { public static void main(String[] args) { TreeSet<Student> ts=new TreeSet<Student>(new Com()); //添加元素进去 for(int i=20070301,j=1;i<=20070330;i++,j++) { ts

c# 跨线程 阻塞-Begininvoke中嵌套Invoke发生了阻塞,求解决

问题描述 Begininvoke中嵌套Invoke发生了阻塞,求解决 为什么button2_Click()不能正确执行? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; usi

java-用HQLhelper方式,然后报错,求解决。

问题描述 用HQLhelper方式,然后报错,求解决. 因为在hql语句中2个占位符几个.我查了百度,query.setparameter就可以解决.可是我写的是HQLhelper- 解决方案 ClickOnce 部署中报错的解决方式squid日志报错信息的解决方式启动服务器报错,求解决

Android初学者,求解决这个URI解析

问题描述 Android初学者,求解决这个URI解析 打印出来的信息是读取的同一张图片,选择图库里的就可以获取到,选择其他的就报null 解决方案 http://blog.csdn.net/ljz2009y/article/details/7678027

adodc-用ADO控件编的一个简易学生成绩管理器,运行时显示找不到可安装的ISAM,求解决

问题描述 用ADO控件编的一个简易学生成绩管理器,运行时显示找不到可安装的ISAM,求解决 Private Sub Command1_Click() On Err GoTo MyErr If Command1.Caption = "添加" Then Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = &qu

java-JAVA连位数字判断如,1234 ,7890,8901,9012求解决

问题描述 JAVA连位数字判断如,1234 ,7890,8901,9012求解决 如题,求高手解答在线等,我现在只实现了,1234这种的不能实现8901这种的,public static boolean isDescNumeric(String numOrStr) { boolean flag = true; for (int i = 0; i < numOrStr.length(); i++) { if (i > 0) { int num = Integer.parseInt(numOrSt