主题:求编写一个程序
zhouxiaobing
[专家分:0] 发布于 2011-02-18 20:59:00
本人想计算三组数据:分别计算每组数据各个数字的倒数之和,三组数据的倒数之和相加的总和。然后总和分别除以每组数据的倒数之和。可以得到三个数。有谁愿意编写一个程序,谢谢!
回复列表 (共9个回复)
沙发
Sky_YiBai [专家分:140] 发布于 2011-02-21 18:50:00
。。。。这个问题好像不难,我这两天有个考试,过两天我倒是可以给你穿一个,就怕导师你已经不用了。。。。
板凳
zhouxiaobing [专家分:0] 发布于 2011-02-21 19:47:00
谢谢!非常感谢你的帮助,我可以等你忙完![em40]
3 楼
Sky_YiBai [专家分:140] 发布于 2011-02-21 20:56:00
以下是代码: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 楼
Sky_YiBai [专家分:140] 发布于 2011-02-21 21:10:00
原本想给你传一个exe文件,但不知为什末传不上来。。。(刚玩这个网站,还有点不明白)你在运行程序时,要注意一点:每输入完一组数据,按ctrl+Z,然后再按回车,就能输入下一组数据了,代码没问题,有操作不知道的,给我留言,我会尽快告诉你的
5 楼
zhouxiaobing [专家分:0] 发布于 2011-02-22 17:47:00
真是好人啊!再次真诚的谢谢你!只是我对电脑编程方面的知识一点也不懂,我不明白该怎么运用,我想要一个简单的,自己输入3组入数据,就可以得出运算结果。有QQ吗?我的QQ876340980[em40]
6 楼
Sky_YiBai [专家分:140] 发布于 2011-02-22 23:49:00
我回来加你,到时直接给你一个程序吧。。。。
你不懂编程啊,不过你放心我写的这个你输入每组数据时输几个都没问题。。。。
我们明天晚上九点之后用qq联系吧,我要是美在你等我一会儿,到时传给你
7 楼
Sky_YiBai [专家分:140] 发布于 2011-02-22 23:59:00
我加你了,1045441349:张小笨
8 楼
Sky_YiBai [专家分:140] 发布于 2011-02-24 22:33:00
问题我已经将解决了,我每天九点以后上qq,到时你找我要就行了
9 楼
zhouxiaobing [专家分:0] 发布于 2011-02-27 14:36:00
再次真诚的谢谢各位朋友!问题已经解决,谢谢你们的帮助!
我来回复