C++PrimerPlus中文第六版第4章编程练习答案
1、
#include<iostream> using namespace std; const int NameSize = 20; struct stu { char firstName[NameSize]; char lastName[NameSize]; char grade; int age; }; int main() { stu s; cout << "What is your first name? "; cin.getline(s.firstName, NameSize); cout << "What is your last name? "; cin.getline(s.lastName, NameSize); cout << "What letter grade do you deserve? "; cin >> s.grade; cout << "What is your age? "; cin >> s.age; cout << "Name: " << s.lastName << ", " << s.firstName << endl; cout << "Grade: " << char(s.grade + 1) << endl; cout << "Age: " << s.age; }
2、
#include<iostream> #include<cstring> #include<string> using namespace std; int main() { string name, dessert; cout << "Enter your name:\n"; getline(cin, name); cout << "Enter your favorite dessert:\n"; getline(cin, dessert); cout << "I have some delicious " << dessert << " for you, " << name << endl; }
3、
#include<iostream> #include<cstring> using namespace std; const int NameSize = 10; const int FullNameSize = 20; struct person { char firstName[NameSize]; char lastName[NameSize]; char fullName[FullNameSize] = ""; }; #pragma warning(disable:4996); int main() { person p; cout << "Enter your first name: "; cin >> p.firstName; cout << "Enter your last name: "; cin >> p.lastName; strcat(p.fullName, p.lastName); strcat(p.fullName, ", "); strcat(p.fullName, p.firstName); cout << "Here's the information in a single string: " << p.fullName << endl; }
4、
#include<iostream> #include<string> using namespace std; struct person { string firstName; string lastName; string fullName; }; int main() { person p; cout << "Enter your first name:\n"; getline(cin, p.firstName); cout << "Enter your last name:\n"; getline(cin, p.lastName); p.fullName = p.lastName + ", " + p.firstName; cout << "Here's the information in a single string: " << p.fullName << endl; }
5、
#include<iostream> using namespace std; struct CandyBar { string brand; float weight; int calorie; }; void printCandy(CandyBar); int main() { CandyBar snack = { "Mocha Munch", 2.3, 350 }; printCandy(snack); } void printCandy(CandyBar c) { cout << "Brand: " << c.brand << ", weight: " << c.weight << ", enrgy: " << c.calorie << endl; }
6、
#include<iostream> using namespace std; struct CandyBar { string brand; float weight; int calorie; }; void printCandy(CandyBar); void printCandy(CandyBar*, int); int main() { CandyBar snack[3] = { {"Mocha Munch", 2.3, 350}, {"White Rabbit", 5.5, 240}, {"Alpenliebe", 4.8, 220} }; printCandy(snack, 3); } void printCandy(CandyBar c) { cout << "Brand: " << c.brand << ", weight: " << c.weight << ", enrgy: " << c.calorie << endl; } void printCandy(CandyBar* c, int len) { for (int i = 0; i < len; i++) { printCandy(*(c + i)); } }
7、
#include<iostream> #include<string> using namespace std; struct PizzaBar { string corporation; float diameter; float weight; }; void inPizza(PizzaBar*); void printPizza(PizzaBar); int main() { PizzaBar p; inPizza(&p); printPizza(p); } void inPizza(PizzaBar* p) { cout << "Enter the corporation: "; getline(cin, p->corporation); cout << "Enter the diameter: "; cin >> p->diameter; cout << "Enter the weight: "; cin >> p->weight; } void printPizza(PizzaBar p) { cout << "Corporation: " << p.corporation << ", diameter: " << p.diameter << ", weight: " << p.weight << endl; }
8、
#include<iostream> #include<string> using namespace std; struct PizzaBar { string corporation;//公司名称 float diameter;//直径 float weight;//重量 }; void inPizza(PizzaBar*); void printPizza(PizzaBar); int main() { PizzaBar* p = new PizzaBar; inPizza(p); printPizza(*p); } void inPizza(PizzaBar* p) { cout << "Enter the diameter: "; cin >> p->diameter; cout << "Enter the corporation: "; cin.get();//由于输入直径的时候留下了一个换行符'\n'在输入流中,所以此时需要把这个换行符去掉 getline(cin, p->corporation); cout << "Enter the weight: "; cin >> p->weight; } void printPizza(PizzaBar p) { cout << "Corporation: " << p.corporation << ", diameter: " << p.diameter << ", weight: " << p.weight << endl; }
9、
#include<iostream> using namespace std; struct CandyBar { string brand; float weight; int calorie; }; void printCandy(CandyBar); void printCandy(CandyBar*, int); int main() { CandyBar* snack = new CandyBar[3]; snack[0] = { "Mocha Munch", 2.3, 350 }; snack[1] = { "White Rabbit", 5.5, 240 }; snack[2] = { "Alpenliebe", 4.8, 220 }; printCandy(snack, 3); } void printCandy(CandyBar c) { cout << "Brand: " << c.brand << ", weight: " << c.weight << ", enrgy: " << c.calorie << endl; } void printCandy(CandyBar* c, int len) { for (int i = 0; i < len; i++) { printCandy(*(c + i)); } }
10、
#include<iostream> #include<array> using namespace std; int main() { const int N = 3; array<double, N> time; for (int i = 0; i < N; i++) { cout << "Enter the " << i+1 << "st seconds:"; cin >> time[i]; } double ave = (time[0] + time[1] + time[2]) / 3; cout << "Average seconds: "<<ave << endl; }

浙公网安备 33010602011771号