1.编写一个C++程序,如下述输出示例所示的那样请求并显示信息:
What is your first name? Betty Sue
What is your last name? Yewe
What letter grade do you deserve? B
what is your age? 22
Name: Yewe, Betty sue
Grade: C
Age: 22

注意,该程序应该接受的名字包含多个单词。另外,程序将向下调整成绩,即向上调一个字母。假设用户请求A、B或C,所以不必担心D和F之间的空档。

#include <iostream>
#include <string>using namespace std;int main()
{cout << "What is your first name? " ;string FirstName;getline(cin,FirstName);cout << "What is your last name? ";string LastName;getline(cin,LastName);cout << "What letter grade do you deserve? ";char Grade;cin >> Grade;cout << "what is your age? ";int age;cin >> age;cout << "Name: " << LastName << "," << FirstName << endl;cout << "Grade: " << char(Grade+1) << endl;cout << "age: " << age << endl;return 0;}

2.修改程序清单4.4,使用C++ string类而不是char数组。

#include <iostream>
#include <string>int main()
{using namespace std;
//  const int ArSize = 20;
//  char name[ArSize];
//  char dessert[ArSize];string name , dessert;cout << "Enter your name:\n";
//  cin.getline(name,ArSize);getline(cin,name);cout << "Enter your favorite dessert:\n";
//  cin.getline(dessert,ArSize);getline(cin,dessert);cout <<"I have some delicious " << dessert;cout <<" for you, " << name << ".\n";return 0;
}

3.编写一个程序,它要求用户首先输入其名,然后输入其姓;然后程序使用一个逗号和空格将姓和名组合起来,并存储和显示组合结果。请使用char数组和头文件 cstring中的函数。下面是该程序运行时的情形:
Enter your first name :Flip
Enter your last name: Fleming
Here’s the information in a single string: Fleming, Flip

#include <iostream>
#include <cstring>int main()
{using namespace std;const int ArSize = 20;char name1[ArSize],name2[ArSize];cout << "Enter your first name:" ;cin.getline(name1,ArSize);cout << "Enter your last name:";cin.getline(name2,ArSize);string name;name = name2;name = name + ", " + name1;cout << "Here's the information in a single string:" << name << endl;return 0;
}

4.编写一个程序,它要求用户首先输入其名,再输入其姓;然后程序使用一个逗号和空格将姓和名组合起来,并存储和显示组合结果。请使用 string对象和头文件 string中的函数。下面是该程序运行时的情形:
Enter your first name: Flip
Enter your last name: Fleming
Here’s the information in a single string: Fleming, Flip

#include <iostream>
#include <cstring>int main()
{using namespace std;string name1,name2;cout << "Enter your first name:" ;getline(cin,name1);cout << "Enter your last name:";getline(cin,name2);name2 += ", " + name1;cout << "Here's the information in a single string:" << name2 << endl;return 0;
}

5.结构 CandyBar包含3个成员。第一个成员存储了糖块的品牌;第二个成员存储糖块的重量(可以有小数);第三个成员存储了糖块的卡路里含量(整数).请编写一个程序,声明这个结构,创建一个名为snack的 CandyBar变量,并将其成员分别初始化为“ Mocha munch”、2.3和350.初始化应在声明 snack时进行。最后,程序显示 snack变量的内容。

#include <iostream>
#include <string>struct CandyBar
{std::string PinPai;double Weight;int KaLuLi;
};int main()
{CandyBar snack = {"Mocha munch", 2.3, 350};std::cout <<"品牌:"<< snack.PinPai <<std::endl;std::cout <<"重量:"<< snack.Weight <<std::endl;std::cout << "卡路里:"<< snack.KaLuLi << std::endl;return 0;
}

6.结构 CandyBar包含3个成员,如编程练习5所示。请编写一个程序,创建一个包含3个元素的CandyBar数组,并将它们初始化为所选择的值,然后显示每个结构的内容。

#include <iostream>
#include <string>struct CandyBar
{std::string PinPai;double Weight;int KaLuLi;
};int main()
{CandyBar snack[3] = {{"Mocha munch", 2.3, 350},{"ping Guo", 4.2, 120},{"xiang jiao", 5.5, 130}};for(int i = 0; i != 3; i++){std::cout <<"品牌:"<< snack[i].PinPai <<std::endl;std::cout <<"重量:"<< snack[i].Weight <<std::endl;std::cout << "卡路里:"<< snack[i].KaLuLi << std::endl;}return 0;
}
  1. William Wingate从事比萨饼分析服务。对于每个披萨饼,他都需要记录下列信息:
    ●披萨饼公司的名称,可以有多个单词组成。
    ●披萨饼的直径
    ●披萨饼的重量。
    请设计一个能够存储这些信息的结构,并编写一个使用这种结构变量的程序。程序将请求用户输入上述信息,然后显示这些信息。请使用cin(或它的方法)和cout。
#include <iostream>
#include <cstring>struct PiSa
{std::string Company;double ZhiJing;double ZhongLiang;
};int main()
{using namespace std;PiSa PS;cout << "请输入公司的名字:";cin >> PS.Company;cout << "请输入披萨饼的直径:";cin >> PS.ZhiJing;cout << "请输入披萨饼的重量:";cin >> PS.ZhongLiang;cout << "公司的名字:"<<PS.Company << endl;cout << "披萨饼的直径:"<< PS.ZhiJing << endl;cout << "披萨饼的重量:"<< PS.ZhongLiang << endl;return 0;
}

8.完成编程练习7,但使用new来为结构分配内存,而不是声明一个结构变量。另外,让程序在请求输入比萨饼公司名称之前输入比萨饼的直径。

#include <iostream>
#include <cstring>struct PiSa
{std::string Company;double ZhiJing;double ZhongLiang;
};int main()
{using namespace std;PiSa * PS = new PiSa;cout << "请输入披萨饼的直径:";cin >> PS->ZhiJing;cout << "请输入公司的名字:";cin >> PS->Company;cout << "请输入披萨饼的重量:";cin >> PS->ZhongLiang;cout << "公司的名字:"<<PS->Company << endl;cout << "披萨饼的直径:"<< PS->ZhiJing << endl;cout << "披萨饼的重量:"<< PS->ZhongLiang << endl;delete PS;return 0;
}

9.完成编程练习6,但使用new来动态分配数组,而不是声明一个包含3个元素的 CandyBar数组。

#include <iostream>
#include <string>struct CandyBar
{std::string PinPai;double Weight;int KaLuLi;
};int main()
{CandyBar * pt = new CandyBar [3];pt[0] = {"Mocha munch", 2.3, 350};pt[1] = {"ping Guo", 4.2, 120};pt[2] = {"xiang jiao", 5.5, 130};for(int i = 0; i != 3; i++){std::cout <<"品牌:"<< pt[i].PinPai <<std::endl;std::cout <<"重量:"<< pt[i].Weight <<std::endl;std::cout << "卡路里:"<< pt[i].KaLuLi << std::endl;}delete [] pt; return 0;
}

10.编写一个程序,让用户输入三次40码跑的成绩(如果您愿意,也可让用户输入40米跑的成绩),并显示次数和平均成绩。请使用一个aray对象来存储数据(如果编译器不支持aray类,请使用数组)。

#include <iostream>
#include <array>int main()
{using namespace std;cout << "请输入三次40米跑的成绩" << endl;array<double, 3> array;cout << "第一次:";cin >> array[0];cout << "第二次:";cin >> array[1];cout << "第三次:";cin >> array[2];double ave;ave = (array[0] + array[1] + array[2])/3;cout << "三次40米跑的平均成绩:"<< ave << endl;return 0;
}

第四章 编程练习(C++ Primer Plus)相关推荐

  1. c语言第六版第四章答案,C primer plus 第六版 第6版 004章 第四章 编程 练习 答案 中文...

    第四章 编程练习 1.编写一个程序,提示用户输入名和姓,然后以『名,姓』的格式打印出来. char name[40]; char family[40]; printf("请输入名和姓:\n& ...

  2. C++primer plus第四章编程练习自编程序

    //第四章编程练习 //eg.1显示信息 #include <iostream> using namespace std; const int SIZE = 20; int main() ...

  3. C Primer Plus学习_8第四章编程练习(略带解释 )

    第四章就这样结束了,下面我们来做书后习题. 如果你愿意练习,请不要看答案. 每个程序之后可能会有一些解释,都是我做的时候遇到的问题和是如何解决的,如果你还有其他疑问,评论区见,一起探讨. ------ ...

  4. C++ Primer Plus(第六版)第四章编程练习参考答案

    答案出于菜鸟之手,希望大家参考,提出建议!!! 一. #include<iostream>using namespace std;int main() {char fname[20];ch ...

  5. 《C Primer Plus》第四章 编程习题

    目录 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.8.1 编写一个程序,提示用户输入名和姓,然后以"名,姓"的格式打印出来. ...

  6. C++primer plus第六版第四章编程题代码

    1. #include "stdafx.h" #include <iostream> #include <string> #include <vect ...

  7. C Primer Plus第六版第四章编程题目与参考答案⭐

    1.编写一个程序,提示用户输入名和姓,然后以"名,姓"的格式打印出来. #include <stdio.h>int main() {char firstname[20] ...

  8. (六十四)第四章编程练习

    1.编写一个C++程序,如下述输出示例所示的那样请求并显示信息: What is your first name? Betty Sue What is your last name? Yewe Wha ...

  9. C++PrimerPlus学习——第十四章编程练习

    14-1 参考14.19 winec.h #ifndef WINEC_H_ #define WINEC_H_ #include <string> #include <valarray ...

最新文章

  1. python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别
  2. 单文档程序创建的时候,标题栏的无标题怎么可以去掉,并且改成自己想要的字符...
  3. python转行it好学吗-转行IT做后端开发,学python还是java?
  4. DHCP 服务原理:Snooping和Relay
  5. 【联盛德W806上手笔记】三、MCU系统与时钟结构
  6. mysql的内外连接_MYSQL的内外连接
  7. 【重磅资料】ArchSummit全球架构师峰会·2019华为云技术专场资料下载
  8. cordova指定版本_Cordova/Ionic构建android Gradle错误:支持的最小Gradle版本是2.14.1。当前版本是2.13...
  9. 系统syslog网络转发配置
  10. mysql 协议测试_mysqlslap压力测试mysql
  11. FPGA构建人工神经网络系统应用实例——视障人士便携导航系统
  12. python经典编程100例(1)
  13. linux平台使用doxygen生成项目文档
  14. Vue项目上线的基本流程
  15. 计算机中使用资源叫什么,在计算机术语中,什么叫资源子网和通信子网?
  16. esxi安装威联通_威联通TS-453Bmini NAS加装内存,轻松玩转虚拟机安装win10系统
  17. 牵手华为云,云时通SRM助力企业采购数字化升级!
  18. 干货分享 | GopherChina 2019北京大会PPT下载
  19. Laya和TypeScript制作H5——开始
  20. fortune命令简介

热门文章

  1. OpenCV(六)之图像轮廓检测
  2. 淘宝网店铺主营宝贝怎么修改设置?
  3. 《现代软件工程—构建之法》
  4. python 利用正则表达式删除在将一个数据库的表复制到另一个数据库出现insert失败删除原数据库数据
  5. 机器学习理论之(9):特征选择 Feature Selection
  6. BLE蓝牙笔记----广播连接过程
  7. JavaScript 自定义事件、触发事件
  8. ios隐藏功能-APP因第三方支付被拒
  9. 如何让你的APP变小及手机各屏幕尺寸
  10. c语言long型数组怎么初始化,C语言中数组初始化的三种方式是什么?