| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 465 人关注过本帖
标题:请问,计算错在那里?
取消只看楼主 加入收藏
SwanK
Rank: 1
等 级:新手上路
帖 子:68
专家分:3
注 册:2013-1-18
结帖率:50%
收藏
已结贴  问题点数:18 回复次数:3 
请问,计算错在那里?
#include <iostream>
#include <iomanip>
#include <cmath>
#include <string>

using namespace std;

int main()
{
    int i;
    for (i=0; i<=9;i++){

        double price;
        double lastPrice;
        double inflationRate;

        cout<<"Price in "<<2005+i<<":";
        cin>>price;
        lastPrice=price;
        cout<<"last price"<<lastPrice<<endl;
        cout<<" price"<<price<<endl;


        if (i>=1)

        inflationRate=(price-lastPrice)/lastPrice;

        cout<<inflationRate;
        cout<<fixed<<showpoint;
        cout<<setprecision(2);
        cout<<"from "<< 2005+i <<"  to " <<2005+i+1<<": ";
        cout<<inflationRate*100<<"%  inflation"<<endl;




    }


    cout << "Hello world!" << endl;
    return 0;
}
搜索更多相关主题的帖子: price double include 计算 namespace 
2013-02-27 13:50
SwanK
Rank: 1
等 级:新手上路
帖 子:68
专家分:3
注 册:2013-1-18
收藏
得分:0 
谢谢你的回复!
我改成这样:但是题目要求1位小数
例如2005 到2006年是1。8%
我设置了cout<<setprecision(1)<<answer<<endl;
为什么得数还是1。80%呢?
输入是2005: 5.0
      2006:  5.09


#include <iostream>
 #include <iomanip>
#include <cmath>
#include <string>

using namespace std;
void double inflation(double price1,double price2,double &inflationRate){
inflationRate=((price2-price1)/price1)*100;
}

int main()
{
    int i;
    for (i=0; i<=5;i=i+2){

        double price1;
        double price2;
        double inflationRate;

        cout<<"Price in "<<2005+i<<":";
         cin>>price1;

        cout<<"Price in "<<2005+i+1<<":";
         cin>>price2;
         double answer=0.0;
        inflation(price1,price2,answer)
 

        if (i>=1)

        //cout<<inflationRate;
        cout<<fixed<<showpoint;
        cout<<setprecision(1);
        cout<<"from "<< 2005+i <<"  to " <<2005+i+1<<": ";
         cout<<setprecision(1)<<answer<<"%  inflation"<<endl;
    }
    return 0;
}
2013-02-28 08:28
SwanK
Rank: 1
等 级:新手上路
帖 子:68
专家分:3
注 册:2013-1-18
收藏
得分:0 
查出问题是:
cout<<fixed<<setprecision(1)<<answer<<"%  inflation"<<endl;
2013-02-28 15:24
SwanK
Rank: 1
等 级:新手上路
帖 子:68
专家分:3
注 册:2013-1-18
收藏
得分:0 
谢谢,问题解决了一个,很开心!
但是另外还有解决不出,主要都是关于函数的问题,对这个概念还是有点含糊,我觉得我很的不好。你们可帮忙吗?

#include<iostream>
#include<iomanip>
#include<cmath>
#include<string>

using namespace std;
#include <iostream>
#include <cmath>
using namespace std;


//a)
/*@distance.
 *@double distance(double x1, double x2,double y1, double y2)
 */


 double distance(double x1,double x2,double y1,double y2)

{
    double distance;
    distance=sqrt(pow((x2-x1),2)+ pow((y2-y1),2));
    return distance;
}


//b)
/*@mid distance.
 *@double distance(double x1, double x2,double y1, double y2,double &midX, double &midY);
  */
void midpoint(double x1,double x2,
              double y1,double y2,
              double *midX, double *midY)
{
    *midX=(x2-x1)/2.0;
    *midY=(y2-y1)/2.0;
    //cout<<(x2-x1)/2.0<<","<< (y2-y1)/2.0;
}

//c)
/*@diameter.
 *@double radius(double x1, double y1,
 *               double x2, double y2)
 */


void radius(double x1, double y1,
                   double x2, double y2)
{
//double radius;
    double diameter;
    double r;
    distance(x1,x2,y1,y2);
    r=diameter/2.0;
    return radius(x1,x2,y1,y2);

}


//d)

/*@circumference(double r)
  *@double radius(double x1, double y1,
 *               double x2, double y2)
 */
//double circumference(double r);
double circumference(double r){
    const double PI=3.14;
    double circumference;
    circumference=2*PI* r;
    //return circumference(r);
    return circumference;

}

//e)
/*@circumference.
 *@double circumference(double x1, double y1,
                         double x2, double y2)
 */
double circumference(double x1, double y1, double x2, double y2)
{

    const double PI=3.14;
    distance(x1,x2,y1,y2);

    return circumference(x1,x2,y1,y2);

}

int main()
{

    double x1,x2,y1,y2;
    cout<<"enter x1,x2,y1,y2:"<<endl;
    cin>> x1>>x2>>y1>>y2;
    distance(x1,x2,y1,y2);
    cout<<" The distance between them is:"<< distance <<endl;
    cout<<"midpoint is:"<<x2-x1<<",y2-y1"<endl;

    cout<<"the circle's radius is:"<<

    return 0;
}


2013-02-28 15:34
快速回复:请问,计算错在那里?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026856 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved