C++primer第四章练习答案

题一

#include <iostream>
#include <cstring>

using namespace std;
int main()
{
    cout << "What is your first name? ";
    char firstname[10], lastname[10];
    cin.get(firstname, 10).get();
    cout << "What is your last name? ";
    cin >> lastname;
    cout << "What letter grade do your deserve? ";
    char grade;
    cin >> grade;
    cin.get();
    int age;
    cout << "What is your age? ";
    cin >> age;
    cout << "Name: " << lastname << ", " << firstname << endl;
    cout << "Grade: " << (char)((int)grade + 1) << endl;
    cout << "Age: " << age;
    return 0;
}

 

题二

#include <iostream>
#include <string>
using namespace std;
int main()
{
    // const int Arsize = 20;
    string name;
    string 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;
    return 0;
}

 

题三

#include <iostream>
#include <cstring>

using namespace std;
int main()
{
    char firstname[10], lastname[20], name[20];
    cout << "Enter your first name: ";
    cin >> firstname;
    cout << "Enter your last name: ";
    cin >> lastname;
    strcpy(name, firstname);
    strcat(name, ", ");
    strcat(name, lastname);
    cout << "Here's the information in a single string: " << name;
    return 0;
}

题四

 

#include <iostream>
#include <cstring>

using namespace std;
int main()
{
    string firstname, lastname, name;
    cout << "Enter your first name: ";
    cin >> firstname;
    cout << "Enter your last name: ";
    cin >> lastname;
    name = lastname;
    name = name + ", " + firstname;
    cout << "Here's the information in a single string: " << name;
    return 0;
}

 

 题五

#include <iostream>
#include <cstring>
using namespace std;

struct CandyBar
{
    char name[15];
    double weight;
    int calori;
};

int main()
{
    CandyBar snack =
        {
            "Mocha Munch",
            2.3,
            350};
    cout << "Name: " << snack.name << endl;
    cout << "Weight: " << snack.weight << endl;
    cout << "Calori: " << snack.calori << endl;
}

 

题六

 

#include <iostream>
#include <cstring>
using namespace std;

struct CandyBar
{
    char name[15];
    double weight;
    int calori;
};

int main()
{
    CandyBar candicates[3] = {
        {"M S", 1.3, 34},
        {"N M", 1.2, 43},
        {"N O", 5.3, 67}};
    cout << "Name: "
         << candicates[0].name << endl;
    cout << "Weight: " << candicates[0].weight << endl;
    cout << "Calori: " << candicates[0].calori << endl;
    cout << "Name: " << candicates[1].name << endl;
    cout << "Weight: " << candicates[1].weight << endl;
    cout << "Calori: " << candicates[1].calori << endl;
    cout << "Name: " << candicates[2].name << endl;
    cout << "Weight: " << candicates[2].weight << endl;
    cout << "Calori: " << candicates[2].calori << endl;
    return 0;
}

 

题七

 

#include <iostream>
using namespace std;
struct Pizza
{
    char name[20];
    double diameter;
    double weight;
};
int main()
{
    Pizza A;
    cout << "Name:";
    cin.get(A.name, 20);
    cout << "Diameter: ";
    cin >> A.diameter;
    cout << "Weight: ";
    cin >> A.weight;
    cout << "Name: " << A.name << endl;
    cout << "Diameter: " << A.diameter << endl;
    cout << "Weight: " << A.weight << endl;
    return 0;
}

题八

#include <iostream>
using namespace std;
struct Pizza
{
    char name[20];
    double diameter;
    double weight;
};
int main()
{
    Pizza *pizza = new Pizza;
    cout << "Diameter: ";

    cin >> pizza->diameter;
    cout << "company: ";
    cin.get();
    cin.getline(pizza->name, 20);
    cout << "weight: ";
    cin >> pizza->weight;
    cout << pizza->weight << endl;
    cout << "Name: " << (*pizza).name << endl;
    cout << "Diameter: " << (*pizza).diameter << endl;
    cout << "Weight: " << (*pizza).weight << endl;
    delete pizza;
    return 0;
}

题九

#include <iostream>
#include <cstring>
using namespace std;

struct CandyBar
{
    char name[15];
    double weight;
    int calori;
};

int main()
{
    CandyBar *candicates = new CandyBar[3];

    // candicates = {{"M S", 1.3, 34}, {}, {}};
    strcpy(candicates->name, "M S");
    candicates[0].weight = 1.3;
    candicates[0].calori = 34;

    strcpy(candicates[1].name, "N M");
    candicates[1].weight = 1.2;
    candicates[1].calori = 43;

    strcpy(candicates[2].name, "M S");
    candicates[2].weight = 1.3;
    candicates[2].calori = 34;

    cout << "Name: " << candicates[0].name << endl;
    cout << "Weight: " << candicates[0].weight << endl;
    cout << "Calori: " << candicates[0].calori << endl;
    cout << "Name: " << candicates[1].name << endl;
    cout << "Weight: " << candicates[1].weight << endl;
    cout << "Calori: " << candicates[1].calori << endl;
    cout << "Name: " << candicates[2].name << endl;
    cout << "Weight: " << candicates[2].weight << endl;
    cout << "Calori: " << candicates[2].calori << endl;
    delete[] candicates;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值