c++ primer plus 第七章 课后题答案
#include <iostream>
using namespace std;
double HAR_AVG(double, double);
void TEST(bool); int main()
{
double x, y;
cout << "Please enter two values(encountered zero end):\n";
cin >> x;
TEST(cin.fail());
cin >> y;
TEST(cin.fail());
while (x*y != )
{
cout << "The harmonic mean of the two values is " << HAR_AVG(x, y) << ".\n";
cout << "Please enter two values(encountered zero end):\n";
cin >> x;
TEST(cin.fail());
cin >> y;
TEST(cin.fail());
} system("pause"); } double HAR_AVG(double x, double y)
{
return 2.0*x*y / (x + y);
} void TEST(bool a)
{
if (a == true)
cout << "Not value!\n";
}
#include <iostream>
using namespace std;
const int Max_Num = ;
int In_put(double *, int);
double Pro_data(double *, int);
void Display(const double *, int, double); int main()
{
double grade[Max_Num];
int count;
double avg_grade; count=In_put(grade, Max_Num);
avg_grade=Pro_data(grade, count);
Display(grade, count, avg_grade); system("pause");
} int In_put(double *grade,int a)
{
cout << "Please enter ten golf scores (press any non-numeric button to end): \n";
int count=;
for (int i = ; i < a; i++)
{
cin >> grade[i];
if (cin.fail())
{
cout << "End!\n";
return count;
}
count++;
}
return count;
} double Pro_data(double *grade, int count)
{
double sum=;
for (int i = ; i < count; i++)
{
sum += grade[i];
} return sum / count;
} void Display(const double *grade, int count, double a)
{
cout << "The grades you entered are:";
for (int i = ; i < count; i++)
{
cout << grade[i] << " ";
} cout << "\nThe average score is " << a << ".\n";
}
#include<iostream>
using namespace std;
const int Max_num = ; struct box
{
char maker[];
float height;
float width;
float length;
float volume;
}; bool In_put(box *,int);
void Display(box,int);
void Setting(box *,int); int main()
{
box *abc = new box[Max_num];
int count=; for (int i = ; i < Max_num; i++)
{
if (In_put(abc, i))
break;
count++;
} cout << "You have entered " << count << " boxes.\n";
for (int j = ; j < count; j++)
{
Display(abc[j], j);
} system("pause");
} bool In_put(box *abc, int i)
{
cout << "Please enter the maker of the box, as well as the length, width, and height:\n";
cin >> abc[i].maker;
if (cin.fail())
{
cout << "The maker of the input box has an error.\n";
return cin.fail();
}
cin >> abc[i].length;
if (cin.fail())
{
cout << "The maker of the input length has an error.\n";
return cin.fail();
}
cin >> abc[i].width;
if (cin.fail())
{
cout << "The maker of the input width has an error.\n";
return cin.fail();
}
cin >> abc[i].height;
if (cin.fail())
{
cout << "The maker of the input height has an error.\n";
return cin.fail();
}
Setting(abc,i);
return false;
} void Setting(box *abc, int i)
{
abc[i].volume = abc[i].length*abc[i].width*abc[i].height;
} void Display(box abc,int j)
{
cout << "The " << j+ << "th box has the following information:\n";
cout << "maker:" << abc.maker << endl;
cout << "length:" << abc.length << endl;
cout << "width:" << abc.width << endl;
cout << "height:" << abc.height << endl;
cout << "volume:" << abc.volume << endl;
}
#include <iostream>
long double probability(unsigned, unsigned, unsigned, unsigned);
int main()
{
using namespace std;
double total1, choices1;
double total2, choices2;
cout << "Enter the total number of Domain choices on the game card and\n"
"the number of picks allowed:\n";
cin >> total1 >> choices1;
cout << "Enter the total number of Special choices on the game card and\n"
"the number of picks allowed:\n";
cin >> total2 >> choices2;
while (!(cin.fail()) && choices1 <= total1 && choices2 <= total2)
{
cout << "You have one chance in ";
cout << probability(total1, choices1, total2, choices2);
cout << " of winning.\n";
cout << "Next four numbers (Non-numeric to quit): ";
cin >> total1 >> choices1;
cin >> total2 >> choices2;
}
cout << "bye\n";
system("pause");
return ;
} long double probability(unsigned numbers1, unsigned picks1, unsigned numbers2, unsigned picks2)
{
long double result = 1.0; // here come some local variables
long double n;
unsigned p; for (n = numbers1, p = picks1; p > ; n--, p--)
result = result * n / p;
for (n = numbers2, p = picks2; p > ; n--, p--)
result = result * n / p;
return result;
}
#include <iostream>
using namespace std;
unsigned long factorial(unsigned int); int main()
{
unsigned int pp;
unsigned long qq;
cout << "Please enter a non-negative number:";
if (cin >> pp)
{
qq = factorial(pp);
cout << "The factorial of this value is:" << qq << endl;
}
system("pause");
} unsigned long factorial(unsigned int pp)
{
unsigned long qq;
if (pp > )
qq = pp * factorial(pp - );
else
return ;
return qq;
}
#include <iostream>
using namespace std;
const int Max_num = ;
int Fill_array(double *, int);
void Show_array(const double *, int);
void Reverse_array(double *, int); int main()
{
double abc[Max_num];
int num_rel;
num_rel=Fill_array(abc, Max_num);
Show_array(abc, num_rel);
Reverse_array(abc, num_rel);
Show_array(abc, num_rel);
Reverse_array(abc+, num_rel-);
Show_array(abc, num_rel); system("pause");
} int Fill_array(double *abc, int t)
{
int count_num = ;
cout << "Please enter no more than" << t << "digits (experiencing non-numeric exits):\n";
for (int i = ; i < t; i++)
{
if (!(cin >> abc[i]))
break;
count_num++;
}
cout << "Input completed.\n";
return count_num;
} void Show_array(const double *abc, int t)
{
for (int i = ; i < t; i++)
{
cout << abc[i] << endl;
}
} void Reverse_array(double *abc, int t)
{
cout << "Reverse!" << endl;
int i = , j = t - ;
double qqq;
while (j > i)
{
qqq = abc[i];
abc[i] = abc[j];
abc[j] = qqq;
i++;
j--;
}
}
#include <iostream>
const int Max = ; double * fill_array(double *, double *);
void show_array(const double *, const double *);
void revalue(double, double *, double *); int main()
{
using namespace std;
double properties[Max]; double *end = fill_array(properties, properties+Max);
show_array(properties, end);
if (end > properties)
{
cout << "Enter revaluation factor: ";
double factor;
while (!(cin >> factor))
{
cin.clear();
while (cin.get() != '\n')
continue;
cout << "Bad input; Please enter a number: ";
}
revalue(factor,properties, end);
show_array(properties, end);
}
cout << "Done.\n"; system("pause");
} double * fill_array(double * ar, double * br)
{
using namespace std;
double temp;
double *i;
int j = ;
for (i = ar; i<br; i++,j++)
{
cout << "Enter value #" << (j + ) << ": ";
cin >> temp;
if (!cin)
{
cin.clear();
while (cin.get() != '\n')
continue;
cout << "Bad input; input process terminated.\n";
break;
}
else if (temp < )
break;
*i = temp;
}
return i;
} void show_array(const double *ar, const double *br)
{
using namespace std;
const double *i;
int j = ;
for (i = ar; i < br; i++,j++)
{
cout << "Property #" << (j + ) << ": $";
cout << *i << endl;
}
} void revalue(double r,double *ar,double *br)
{
double *i;
for (i = ar; i < br; i++)
(*i)*= r;
}
#include <iostream>
#include <string>
const int Seasons = ;
const char * Snames[Seasons] = { "Spring", "Summer", "Fall", "Winter" }; int main()
{
double expenses[Seasons];
fill(expenses);
show(expenses);
system("pause");
} void fill(double * pa)
{
for (int i = ; i < Seasons; i++)
{
std::cout << "Enter " << Snames[i] << " expenses: ";
std::cin >> pa[i];
}
} void show(double * da)
{
double total = 0.0;
std::cout << "\nEXPENSES\n";
for (int i = ; i < Seasons; i++)
{
std::cout << Snames[i] << ": $" << da[i] << '\n';
total += da[i];
}
std::cout << "Total: $" << total << '\n';
}
#include <iostream>
#include <string>
const int Seasons = ;
const char * Snames[Seasons] = { "Spring", "Summer", "Fall", "Winter" };
struct expenses
{
double expenses;
};
void fill(expenses *);
void show(expenses *); int main()
{
expenses *cost = new expenses[Seasons];
fill(cost);
show(cost);
system("pause");
} void fill(expenses * pa)
{
for (int i = ; i < Seasons; i++)
{
std::cout << "Enter " << Snames[i] << " expenses: ";
std::cin >> pa[i].expenses;
}
} void show(expenses * da)
{
double total = 0.0;
std::cout << "\nEXPENSES\n";
for (int i = ; i < Seasons; i++)
{
std::cout << Snames[i] << ": $" << da[i].expenses << '\n';
total += da[i].expenses;
}
std::cout << "Total: $" << total << '\n';
}
#include <iostream>
using namespace std;
const int SLEN = ;
struct student {
char fullname[SLEN];
char hobby[SLEN];
int ooplevel;
}; int getinfo(student [], int);
void display1(student);
void display2(const student *);
void display3(const student *, int); int main()
{
cout << "Enter class size:";
int class_size;
while (!(cin >> class_size))
{
cin.clear();
cin.ignore();
cout << "Please enter class size:";
}; student * ptr_stu = new student[class_size];
int entered = getinfo(ptr_stu, class_size);
for (int i = ; i < entered; i++)
{
display1(ptr_stu[i]);
display2(&ptr_stu[i]);
}
display3(ptr_stu, entered);
delete[] ptr_stu;
cout << "Done\n";
system("pause");
} int getinfo(student pa[], int n)
{
int count = ;
for (int i = ; i < n; i++)
{
cin.ignore();
cout << "Please enter the fullname:";
cin.getline(pa[i].fullname, SLEN);
cout << "Please enter the hobby:";
cin.getline(pa[i].hobby, SLEN);
cout << "Please enter the ooplevel:";
cin >> pa[i].ooplevel;
count++;
}
cout << "\nEnter end!";
return count;
} void display1(student pa)
{
cout << "\ndisplay1:\nFullName:" << pa.fullname << "\nhobby:" << pa.hobby
<< "\nooplevel:" << pa.ooplevel << endl;
}
void display2(const student * pa)
{
cout << "\ndisplay2:\nFullName:" << pa->fullname << "\nhobby:" << pa->hobby
<< "\nooplevel:" << pa->ooplevel << endl;
}
void display3(const student * pa, int n)
{
cout << "\ndispaly3:\n" << endl;
for (int i = ; i < n; i++)
cout << i+ << "::FullName:" << pa[i].fullname << "\nhobby:" << pa[i].hobby
<< "\nooplevel:" << pa[i].ooplevel << endl;
}
#include <iostream>
using namespace std; double add(double, double);
double sub(double, double);
double calculate(double, double, double (double, double)); int main()
{
double a, b, c, d;
cout << "Please enter two values:\n";
while ((cin >> a) && (cin >> b))
{
c=calculate(a, b, add);
d=calculate(a, b, sub);
cout << "The sum and subtraction of the values are:" << c << "," << d << endl;
cout << "Please continue to enter:\n";
}
system("pause");
} double add(double a, double b)
{
double c;
c = a + b;
return c;
} double sub(double a, double b)
{
double d;
d = a - b;
return d;
} double calculate(double a, double b, double cal(double, double))
{
double e;
e = cal(a, b);
return e;
}
c++ primer plus 第七章 课后题答案的更多相关文章
- c++ primer plus 第六章 课后题答案
#include <iostream> #include <cctype> using namespace std; int main() { char in_put; do ...
- c++ primer plus 第五章 课后题答案
#include <iostream> using namespace std; int main() { ; cout << "Please enter two n ...
- c++ primer plus 第四章 课后题答案
#include<iostream> #include<string> using namespace std; int main() { string first_name; ...
- c++ primer plus 第三章 课后题答案
#include<iostream> using namespace std; int main() { ; int shen_gao; cout <<"Please ...
- c++ primer plus 第二章 课后题答案
#include<iostream> using namespace std; int main() { cout << "My name is Jiantong C ...
- python核心编程第5章课后题答案
5-8Geometry import math def sqcube(): s = float(raw_input('enter length of one side: ')) print 'the ...
- python核心编程第4章课后题答案(第二版75页)
4-1Python objects All Python objects have three attributes:type,ID,and value. All are readonly with ...
- python核心编程第3章课后题答案(第二版55页)
3-4Statements Ues ; 3-5Statements Use\(unless part of a comma-separated sequence in which case \ is ...
- python核心编程第2章课后题答案(第二版36页)
2-5 Loops and Numbers a) i = 0 while i <11: print i i += 1 b) for i in range(0,11): pri ...
随机推荐
- iOS开发--底部按钮和应用图标显示未读消息
我们要实现的效果如下: 我们使用系统自带的,实际上,代码量很少,在我们要显示的按钮上,打上下面一句代码即可: self.tabBarItem.badgeValue = @"1"; ...
- Django-made基础
知识预览 ORM 创建表(建立模型) 添加表记录 查询表记录 修改表记录 删除表记录 回到顶部 ORM 映射关系: 表名 <-------> 类名 字段 <-------> 属 ...
- 形象易懂讲解算法I——小波变换
https://zhuanlan.zhihu.com/p/22450818?refer=dong5 最早发于回答:能不能通俗的讲解下傅立叶分析和小波分析之间的关系? - 咚懂咚懂咚的回答现收入专栏. ...
- SQL Server 运行状况监控SQL语句
Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...
- Python: str.split()和re.split()的区别
str.split() 单一分隔符,使用str.split()即可 str.split不支持正则及多个切割符号,不感知空格的数量 re.split() 多个分隔符,复杂的分隔情况,使用re.split ...
- Java设计模式应用——责任链模式
生产一个产品,需要依次执行多个步骤,才能完成,那么是使用责任链模式则是极好的. 在性能告警模块开发过程中,创建一条告警规则需要执行阈值解析,中间表生成,流任务生成,规则入库,告警事件入库等诸多操作.如 ...
- OGNL mybatis
http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html 动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其 ...
- Redis设置密码重启后失效的解决方案
原因可能有两个: 1.只是单纯的通过命令行设置了密码,这种设置方式是临时的,当服务器重启后,密码会失效. config set requirepass yourPassword 解决方案:在redis ...
- 计算概论(A)/基础编程练习2(8题)/2:计算书费
#include<stdio.h> int main() { // 声明与初始化 ; // k组测试数据的总费用 double s[k]; // 单价表 double price[]= { ...
- kubernetes extension point
以下大部分来自于k8s document, 笔者只是总结归纳, 解释不足的地方请参阅相关文档 Intention Non-sustainable way to customize Kubernetes ...