您的位置:首页 > 编程语言 > C语言/C++

C++ Primer Plus(第6版)Chapter 4 编程题答案

2017-12-25 20:32 393 查看

C++ Primer Plus(第6版)Chapter 4 编程题答案

第1题:

//  task 1
#include <iostream>
#include <string>
#include <cstring>
#include <array>

int main()
{
using namespace std;

cout << "What is your first name? ";
char fname[20];
cin.getline(fname, 20);       //getline(), 因为Betty Sue之间有空格
cout << "What is your last name? ";
char lname[20];
cin.getline(lname, 20);   //Yewe
cout << "What letter grade do you deserve? ";
char score;
cin >> score;   //B
cout << "What is your age? ";
int age;
cin >> age;  //22

cout << "Name: " << lname << ", " << fname << endl;
cout << "Grade: " << char(score + 1) << endl;

cin.get();
cin.get();
return 0;
}


第2题:

//  task 2
int main()
{
using namespace std;

string name, dessert;
cout << "Enter your name:\n";
getline(cin, name);
cout << "Enter your favorite dessert:\n";
getline(cin, dessert);
cout << "T have some delicious " << dessert;
cout << " for you, " << name << ".\n";

cin.get();
cin.get();
return 0;
}


第3题:

//  task 3
int main()
{
using namespace std;
cout << "Enter your first name: ";
char fname[20];
cin.getline(fname, 20);
cout << "Enter your last name: ";
char lname[20];
cin.getline(lname, 20);
char name[40];
strcpy_s(name, lname);    //加上  _s  for safe
strcat_s(name, ", ");
strcat_s(name, fname);
cout << "Here's the information in a single string: " << name;

cin.get();
cin.get();
return 0;
}


第4题:

//  task 4
int main()
{
using namespace std;

string fname, lname, name;
cout << "Enter your first name: ";
getline(cin, fname)
4000
;
cout << "Enter your last name: ";
getline(cin, lname);
name = lname + ", " + fname;
cout << "Here's the information in a single string: " << name;

cin.get();
cin.get();
return 0;
}


第5题:

//  task 5
int main()
{
using namespace std;

struct CandyBar
{
char band[20];
float weight;
int colory;
};
CandyBar snack = { "Mocha Munch", 2.3, 350 };
cout << "The band is " << snack.band << endl;
cout << "The weight is " << snack.weight << endl;
cout << "The kaluli is " << snack.colory << endl;

cin.get();
cin.get();
return 0;
}


第6题:

//  task 6
int main()
{
using namespace std;

struct CandyBar
{
char band[20];
float weight;
int colr;
};
// 创建一个结构数组并初始化
CandyBar snacks[3] = { { "Mocha Munch", 2.3, 350 }, { "star bucks", 1.8, 200 }, { "hagendasi", 4.9, 638 } };
cout << "The 1st band is " << snacks->band << endl;
cout << "The 1st weight is " << snacks->weight << endl;
cout << "The 1st kaluli is " << snacks->colr << endl;

cout << "The 2st band is " << (snacks + 1)->band << endl;
cout << "The 2st weight is " << (snacks + 1)->weight << endl;
cout << "The 2st kaluli is " << (snacks + 1)->colr << endl;

cout << "The 3st band is " << (snacks + 2)->band << endl;
cout << "The 3st weight is " << (snacks + 2)->weight << endl;
cout << "The 3st kaluli is " << (snacks + 2)->colr << endl;

cin.get();
cin.get();
return 0;
}


第7题:

//  task 7
int main()
{
using namespace std;

struct pizza
{
string name;
float d;
float weight;
};
pizza bishengke;
cout << "Enter the name: ";
getline(cin, bishengke.name);
cout << "Enter the zhijing: ";
cin >> bishengke.d;
cout << "Enter the weight: ";
cin >> bishengke.weight;
cout << "The band is: " << bishengke.name << endl;
cout << "The zhijing is: " << bishengke.d << endl;
cout << "The weight is: " << bishengke.weight << endl;

cin.get();
cin.get();
return 0;
}


第8题:

//  task 8
int main()
{
using namespace std;

struct pizza
{
string name;
float d;
float weight;
};
pizza* pt = new pizza;
cout << "Enter the zhijing: ";
cin >> pt->d;
cout << "Enter the name: ";
cin.get();   //用来吃掉回车,不能少
getline(cin, pt->name);
cout << "Enter the weight: ";
cin >> pt->weight;
cout << "The band is: " << pt->name << endl;
cout << "The zhijing is: " << pt->d << endl;
cout << "The weight is: " << pt->weight << endl;

cin.get();
cin.get();
return 0;
}


第9题:

//  task 9
int main()
{
using namespace std;

struct CandyBar
{
char band[20];
float weight;
int colr;
};
// 动态创建一个结构数组
CandyBar* snacks = new CandyBar[3];
snacks[0] = { "Mocha Munch", 2.3, 350 };
snacks[1] = { "Star Bucks", 1.8, 200 };
snacks[2] = { "HaGenDaSi", 4.9, 645 };
cout << "The 1st band is " << snacks->band << endl;
cout << "The 1st weight is " << snacks->weight << endl;
cout << "The 1st kaluli is " << snacks->colr << endl;

cout << "The 2st band is " << (snacks + 1)->band << endl;
cout << "The 2st weight is " << (snacks + 1)->weight << endl;
cout << "The 2st kaluli is " << (snacks + 1)->colr << endl;

cout << "The 3st band is " << (snacks + 2)->band << endl;
cout << "The 3st weight is " << (snacks + 2)->weight << endl;
cout << "The 3st kaluli is " << (snacks + 2)->colr << endl;
delete[] snacks;

cin.get();
cin.get();
return 0;
}


第10题:

//  task 10
int main()
{
using namespace std;

cout << "Enter the three score: ";
array<double, 3> scores;
cin >> scores[0];
cin >> scores[1];
cin >> scores[2];

double av = (scores[0] + scores[1] + scores[2]) / 3;
cout << "The average score of 3 is: " << av << endl;

cin.get();
cin.get();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++-primer