// 第七章.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <iostream>//预编译,使用iostream文件在编译前替代这行代码
#include <array>
#include <string>
#include <iomanip>
const int SIZE = 101;
using namespace std;//将使用std命名空间中的定义
/* 编写一个程序,不断要求用户输入两个数,直到其中一个为0。
对于每两个数,程序将使用一个函数来计算他们的调和平均数,并将结果返回给main(),而后者将报告结果。
调和平均数指的是倒数平均值的倒数。计算公式为: 调和平均数=2.0*x*y/(x+y)。*/
double tiaohe(double, double);
double tiaohe(double x, double y)
{
double z;
z = 2.0*x*y / (x + y);
return z;
}
void Xiti1()//
{
double d1, d2;
while (cin>>d1>>d2&&(d1!=0||d2!=0))
{
//d3=tiaohe(d1, d2);
cout << "调和平均数为:"<<tiaohe(d1, d2) << endl;
}
return;
}
/*. 编写一个程序,要求用户输入最多10个高尔夫成绩,并将其存储在一个数组中。
程序允许用户提早结束输入,并在一行上显示所有成绩,然后报告平均成绩。
请使用3个数组处理函数来分别进行输入、显示和计算平均成绩。。*/
int input(double chengji[], int time);
double avge(double chengji[],int time);
void display(double chengji[], int time, double avge);
const int SIZE1 = 10;
int input(double chengji[],int time)
{
int i;
for ( i = 0; i < time;i++)
{
if(!(cin >> chengji[i])) break;
}
return i;
}
double avge(double chengji[], int time)
{
int i;
double sum=0;
for ( i = 0; i < time; i++)
{
sum += chengji[i];
}
return sum / time;
}
void display(double chengji[], int time, double avge)
{
int i;
for ( i = 0; i < time; i++)
{
cout << chengji[i]<<" ";
}
cout <<"平均值:" <<avge << endl;
}
void Xiti2()//
{
double *grade = new double[SIZE1];
double average;
int time=SIZE1;
time=input(grade,time);
average = avge(grade,time);
display(grade,time,average);
return;
}
/*下面是一个结构声明
struct box
{
char maker[40];
float height;
float width;
float length;
float volume;
};
a. 编写一个函数,按值传递box结构,并显示每一个成员的值
b. 编写一个函数,传递box结构的地址,并将volume成员设置为其他三维长度的乘积
c. 编写一个使用这两个函数的简单程序
*/
struct box
{
char maker[40];
float height;
float width;
float length;
float volume;
};
void display(box bb);
void display(box bb)
{
cout << "高度:"<<bb.height<<endl<<"长度:" << bb.length<<endl<<"宽度:" << bb.width <<"体积:"<< bb.volume<<endl;
}
void tiji(box*point);
void tiji(box*pp)
{
cout << "输入长度:";
cin >> pp->length;
cout << "输入宽度:";
cin >> pp->width;
cout << "输入高度:";
cin >> pp->height;
pp->volume = pp->height*pp->length*pp->width;
}
void Xiti3()//简述:
{
box changfang;
tiji(&changfang);
display(changfang);
return;
}
/*.许多州的彩票发行机构都使用如程序清单7.4 所示的简单彩票玩法的变体。
在这些玩法中,玩家从一组被称为域号码(field number)的号码中选择几个。
例如,可以从域号码1~47 中选择5个号码;还可以从第二个区间(如1~27 )选择一个号码(称为特选号码)。
要赢得头奖,必须正确猜中所有的号码。中头奖的几率是选中所有域号码的几率与选中特选号码几率的乘积。
例如,在这个例子中,中头奖的几率是从47个号码中正确选择5个号码的几率与从27个号码中正确选择一个号码几率的乘积。
请修改程序清单7.4, 以计算中得这种彩票头奖的几率。
*/
double jilv(unsigned number, unsigned pick);
double jilv(unsigned number, unsigned pick)
{
double result=1;
unsigned m, p;
for (m =
C++ primer Plus(第六版)第七章函数 编程
最新推荐文章于 2022-11-11 20:27:53 发布