问题标题: 酷町堂:1010 30分

0
0
已解决
宋骐钰
宋骐钰
新手守护
新手守护

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    double sum=0,r=0,h;
    cin>>h;
    sum+=h;
    for(int i=1;i<=8;i++)
    {
        h/=2;
        if(i<8)
        sum+=h*2;
    }
    printf("%.4f",int(sum*10000+0.0005)/10000.0);
    cout<<endl;
    printf("%.4f",int(h*10000+0.0005)/10000.0);
    return 0;
}


0
已采纳
鲁天一
鲁天一
初级光能
初级光能

老弟,你居然错了这么多:

1.double sum=0,r=0,h; //r到底有什么用?

2.sum+=h;//我写的是sum=-h。

3.for(int i=1;i<=8;i++)
    {
        h/=2;//这里不能先除
        if(i<8)//循环定义就是<=8的,if有何用?
        sum+=h*2;
    }

4.printf("%.4f",int(h*10000+0.0005)/10000.0);//老师讲四舍五入时不是加0.5吗?你咋加0.0005呢?

问题应该到此结束,自己多改改吧!

0
徐睿涵
徐睿涵
初级守护
初级守护
  双精度 s,a;
    输入>>a;
    s-=a;
    for(int i=1;i<=8;i++)
    {
        s=s+2*a;
        a=a/2;
    }
    输出("%.4f\n",int(s*10000+0.5)/10000.0);
    输出("%.4f",int(a*10000+0.5)/10000.0);
  注释:输出是printf。

0
李素妍
李素妍
新手天翼
新手天翼
double s=0.0,h;
    cin>>h;
    s=s-h;
    int i=1;
    while(i<=8)
    {
        s=s+2*h;
        h=h/2;
        i++;
    }

   printf("%.4lf",int(s*10000+0.5)/10000.0);
   cout<<endl;
   printf("%.4lf",int(h*10000+0.5)/10000.0);
0
范孝晗
范孝晗
中级守护
中级守护
头文件
{
 定义
 n=h;
  循环
    a=sum*10000+0.5;
        sum=a/10000.0;
        a=n*10000+0.5;
        n=a/10000.0;
    printf("%.4f\n%.4f\n",sum,n);   

返回值 0;

}

最后AC

0
史亚东
史亚东
新手守护
新手守护
定义(double类型) sum=0,h;
    输入>>h;
    sum=h;
    for(int i=1;i<=7;i++)
    {
        sum=sum+h;
        h=h/2;
    }
    printf("%.4f\n",int(sum*10000+0.5)/10000.0);
    printf("%.4f",int(h/2*10000+0.5)/10000.0);

主要代码

要加头文件#include<cstdio>

我要回答