回 帖 发 新 帖 刷新版面

主题:求编写一个程序

本人想计算三组数据:分别计算每组数据各个数字的倒数之和,三组数据的倒数之和相加的总和。然后总和分别除以每组数据的倒数之和。可以得到三个数。有谁愿意编写一个程序,谢谢!

回复列表 (共9个回复)

沙发


。。。。这个问题好像不难,我这两天有个考试,过两天我倒是可以给你穿一个,就怕导师你已经不用了。。。。

板凳


谢谢!非常感谢你的帮助,我可以等你忙完![em40]

3 楼

以下是代码:C++写的
运行环境:VC6.0,Visual studio 2008等等


// 123.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <iostream>
//#include <string>
#include <cstdlib>  //用于暂停
//#include <cctype>
#include <vector>   
//#include <cstring>  //用于处理C风格字符串
//#include <bitset>
//#include <stack>
//#include <map>
//#include<fstream>
//#include<algorithm>
//#define NDEBUG
using namespace std;

int main()
{
    vector<double> dataArray1;
    vector<double> dataArray2;
    vector<double> dataArray3;
    
    double dval1;
    double dval2;
    double dval3;

    //每组数据的倒数之和
    double revSum1=0;   
    double revSum2=0;
    double revSum3=0;

    //每组数据倒数之和相加的总和
    double AllrevSum=0; 

    //计算AllrevSum除以每组倒数之和得到的数
    double num1;
    double num2;
    double num3;

    cout<<"请输入第一组数据(Ctrl+Z to end):"<<endl;
    while(cin>>dval1)
    {
         dataArray1.push_back(dval1);
    }
    cin.clear();
    
   // system("pause");
    
    cout<<"请输入第二组数据(Ctrl+Z to end):"<<endl;
    while(cin>>dval2)
    {
         dataArray2.push_back(dval2);
    }
    cin.clear();    
    
    //system("pause");

    cout<<"请输入第三组数据(Ctrl+Z to end):"<<endl;
    while(cin>>dval3)
    {
         dataArray3.push_back(dval3);
    }

    //计算第一组数据的倒数之和
    for(vector<double>::iterator  iter=dataArray1.begin();iter!=dataArray1.end();++iter)
    {
        if(*iter==0)
        {
             revSum1=revSum1+0;
        }
        else
        {
            revSum1=revSum1+1.0/(*iter);
        }
    }
    //计算第二组数据的倒数之和
    for(vector<double>::iterator  iter=dataArray2.begin();iter!=dataArray2.end();++iter)
    {
        if(*iter==0)
        {
             revSum2=revSum2+0;
        }
        else
        {
            revSum2=revSum2+1.0/(*iter);
        }
    }
    //计算第三组数据的倒数之和
    for(vector<double>::iterator  iter=dataArray3.begin();iter!=dataArray3.end();++iter)
    {
        if(*iter==0)
        {
             revSum3=revSum3+0;
        }
        else
        {
            revSum3=revSum3+1.0/(*iter);
        }
    }


    //计算每组数据倒数之和相加的总和
       AllrevSum=revSum1+revSum2+revSum3;

    //计算AllrevSum除以每组倒数之和得到的数
    num1=AllrevSum/revSum1;
    num2=AllrevSum/revSum2;
    num3=AllrevSum/revSum3;

    //数据输出
    cout<<"第一组数据的倒数之和是:"<<revSum1<<endl;
    cout<<"第二组数据的倒数之和是:"<<revSum2<<endl;
    cout<<"第三组数据的倒数之和是:"<<revSum3<<endl;
    cout<<endl;
    cout<<"三组数据倒数之和的总和是:"<<AllrevSum<<endl;
    cout<<endl;
    cout<<"总和除以第一组倒数之和得到的数是:"<<num1<<endl;
    cout<<"总和除以第二组倒数之和得到的数是:"<<num2<<endl;
    cout<<"总和除以第三组倒数之和得到的数是:"<<num3<<endl;

 system("pause");  //程序在此处停住,以便检查运行结果!
return 0;
}

 


4 楼

原本想给你传一个exe文件,但不知为什末传不上来。。。(刚玩这个网站,还有点不明白)你在运行程序时,要注意一点:每输入完一组数据,按ctrl+Z,然后再按回车,就能输入下一组数据了,代码没问题,有操作不知道的,给我留言,我会尽快告诉你的

 



5 楼


真是好人啊!再次真诚的谢谢你!只是我对电脑编程方面的知识一点也不懂,我不明白该怎么运用,我想要一个简单的,自己输入3组入数据,就可以得出运算结果。有QQ吗?我的QQ876340980[em40]

6 楼

我回来加你,到时直接给你一个程序吧。。。。
你不懂编程啊,不过你放心我写的这个你输入每组数据时输几个都没问题。。。。
我们明天晚上九点之后用qq联系吧,我要是美在你等我一会儿,到时传给你

7 楼

我加你了,1045441349:张小笨

8 楼

问题我已经将解决了,我每天九点以后上qq,到时你找我要就行了

9 楼


再次真诚的谢谢各位朋友!问题已经解决,谢谢你们的帮助!

我来回复

您尚未登录,请登录后再回复。点此登录或注册