《C++ primer plus》第四单元的课后编程 详细答案可参考C++ primer plus课后编程答案参考 1.cpp
#include<iostream> using namespace std; int main() { char firstname[20],lastname[20]; char Gread; cout<<"What is your first name?"; cin.getline(firstname,20);//getline允许拥有空格字符,遇到回车键停止 cout<<"What is your last name?"; cin.getline(lastname,20); cout<<"What letters do you deserve?"; cin>>Gread; cout<<"Name:"<<lastname<<","<<firstname<<endl; cout<<"Gread:"<<char(Gread+1);//Gread为字符型加一之后,转为int型,需要强制转化为char型 return 0 ; }2.cpp
#include<iostream> #include<string> using namespace std; int main() { string name,dessert; cout<<"Enter your name:"<<endl; getline(cin,name); cout<<"Enter your feacorite dessert:"<<endl; getline(cin,dessert); cout<<"I have some delicious "<<dessert <<" for you,"<<name<<".\n"; return 0; }3.cpp
#include<iostream> #include<string> using namespace std; int main() { char firstname[20]; string lastname; cout<<"Enter your first name:"; cin.getline(firstname,20); cout<<"Enter your last name:"; getline(cin,lastname); cout<<firstname<<","<<lastname; return 0; }5.cpp
#include<iostream> #include<cstring> using namespace std; struct Candy { char name[20]; double weight; int kaluli; }; int main() { Candy snack={"Mocha Munch",2.3,350}; /*Candy snack; snack ={"Mocha Munch",2.3,350}; 这种方法的赋值存在问题,但具体为啥不清楚,按照上面的步骤进行初始化*/ cout<<snack.name<<endl <<snack.weight<<endl <<snack.kaluli<<endl; return 0 ; }6.cpp
#include<iostream> #include<cstring> using namespace std; struct Candy { char name[20]; double weight; int kaluli; }; int main() { Candy snack[3]= { {"Mocha Munch",2.3,350}, {"makabaka",5.6,456}, {"yigubigu",6.2,789} }; cout<<snack[0].name<<endl <<snack[1].name<<endl <<snack[2].name<<endl; return 0 ; }7.cpp
#include<iostream> #include<string.h> using namespace std; struct pizze { char name[20]; double ridicular; double weight; }; int main() { pizze pisa1; cout<<"Enter the pizza's name:"<<endl; cin.getline(pisa1.name,20); cout<<"Enter the ridicular of the pizza"<<endl; cin>>pisa1.ridicular; cout<<"Enter the pizza's weight"<<endl; cin>>pisa1.weight; cout<<pisa1.name<<endl <<pisa1.ridicular<<endl <<pisa1.weight<<endl; return 0; }8.cpp
#include <iostream> #include <string.h> using namespace std; struct pizze { char name[20]; double ridicular; double weight; }; int main() { pizze *pisa1 = new pizze;//使用new 来声明新的变量时需要用到指针 cout << "Enter the pizza's name:" << endl; cin.getline(pisa1->name, 20); cout << "Enter the ridicular of the pizza" << endl; cin >> pisa1->ridicular; cout << "Enter the pizza's weight" << endl; cin >> pisa1->weight; cout << pisa1->name << endl << pisa1->ridicular << endl << pisa1->weight << endl; return 0; }9.cpp
#include<iostream> #include<string> using namespace std; struct Candy { string name; double weight; int kaluli; }; int main() { Candy *snack = new Candy[3];//用new声明三个数组 snack[0].name = "makabaka"; //new声明三个数组之后,需要单个的进行初始化 snack[1].name = "yigubigu"; snack[2].name = "huluhulu"; cout<<snack[0].name<<endl <<snack[1].name<<endl <<snack[2].name<<endl; return 0 ; }10.cpp
#include<iostream> using namespace std; int main() { cout.setf(ios_base::fixed,ios_base::floatfield); //加上这条代码后输出的数字将不会省略掉后面的零,而是以float的形式出现 double grade[4]; cout<<"Enter your four times grades:"<<endl; cin>>grade[0]>>grade[1]>>grade[2]>>grade[3]; cout<<grade[0]<<endl <<grade[1]<<endl <<grade[2]<<endl <<grade[3]<<endl; return 0; }