【C++】C++PrimerPlus(第6版)中文版 第6章 分支语句和逻辑运算符 编程练习 参考答案

本文提供了C++ Primer Plus第六版第六章关于分支语句和逻辑运算符的编程练习,包括键盘输入处理、数组平均值计算、菜单驱动程序、BOP成员信息显示、所得税计算、捐款管理、单词统计、文件字符计数以及从文件读取捐款信息等实际问题的解决方案。
摘要由CSDN通过智能技术生成

自己编写的参考答案,在VS2019中都可以编译通过,不是标准答案,也不是最优答案,仅供参考

1.编写一个程序,读取键盘输入,知道遇到@符号为止,并回显输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大写(别忘了cctype函数系列)。

#include <iostream>
using namespace std;
int main()
{
 char a;
 a = cin.get();
 while (a != '@')
 {
  if (!isdigit(a))
  {
   if(islower(a))
   {
    a = toupper(a);
   }
   else if (isupper(a))
   {
    a = tolower(a);
   }
   cout << a;
  }
     a = cin.get();
 }
}

2.编写一个程序,最多将10个donation值读入到一个double数组中(如果你愿意,也可以使用模板array)。程序遇到非数字输入时将结束输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值。

#include <iostream>
#include<array>
using namespace std;
const int number = 10;
int main()
{
 double donation;
 array<double, number>a;
 int j = 0;
 for (int i = 0; i < number; i++)
 {
  if (cin>> donation)
  {
   a[i] = donation;
   ++j;
  }
  else
  {
   break;
  }
 }
 double sum=0;
 for (int i = 0; i < j; i++)
 {
  sum += a[i];
 }
 double average = sum / j;
 int k=0;
 for (int i = 0; i < j; i++)
 {
  if (a[i]>average)
  {
   ++k;
  }
 }
 cout << "平均数为:" << average << ",有" << k << "个大于平均数的值。";
}

3.编写一个菜单驱动程序的雏形。该程序显示一个提供4个选项的菜单——每一个选项用一个字母标记。如果用户使用有效选项之外的字母进行响应,程序将提示用户输入一个有效的字母,直到用户这样做为止。然后,该程序使用一条switch语句,根据用户的选择执行一个简单操作。该程序的运行情况如下:

Please enter one of following choices:

c) carnivore p) pianist

t) tree g) game

Please enter a c, p, t or g: q

Please enter a c, p, t or g: t

A maple is a tree.

#include <iostream>
using namespace std;
int main()
{
 char choice;
 cout<<"Please enter one of following choices:\n"
    "c) carnivore       p) pianist\n"
    "t) tree            g) game\n";
 cout << "Please enter a c, p, t or g: ";
 cin >> choice;
 while (choice != 'c' && choice != 'p' && choice != 't' && choice != 'g')
 {
  cout << "Please enter a c, p, t or g: ";
  cin >> choice;
 }
 switch (choice)
 {
 case 'c':
  cout << "A maple is a carnivore\n";
  break;
 case 'p':
  cout << "A maple is a pianist\n";
  break;
 case 't':
  cout << "A maple is a tree\n";
  break;
 case 'g':
  cout << "A maple is a game\n";
  break;
 }
}

4.加入Benevolent Order of Programmer后,在BOP大会上,人们便可以通过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值