C++ Primer Plus编程作业

news/2024/7/3 5:05:28

编写一个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:
Age: 22

#include <iostream>
using namespace std;
int main() {
//    string first;
    char first[20];
//    string last;
    char last[20];
    int age;
    char grade;
    cout << "what is your first name?" << endl;
//    getline(cin,first);
    cin.getline(first, 20);
    cout << "what is your last name?" << endl;
//    getline(cin,last);
    cin.getline(last, 20);
    cout << "what letter grade do you deserve?" << endl;
    cin >> grade;
    cout << "what is your age?" << endl;
    cin >> age;
    cout << "Name: " << first << ", " << last << endl;
    cout << "Grade: " << grade << endl;
    cout << "Age: " << age << endl;
    return 0;
}

CandyBar结构包含3个成员,分别为品牌名称、重量和热量。请编写一个函数,参数包含CandyBar的引用、char指针、double和int作为参数,并用最后3个参数作为结构成员的值,其默认值分别为“Millennium Munch”、2.85和350,函数需要显示结构。并创建一个包含3个元素的CandyBar数组…

#include <iostream>
using namespace std;
int main() {
    struct CandyBar{
        string name;
        float weight;
        int calorie;
    };
    CandyBar snack[3] = {
            {"Mocha Munch",2.3,350},
            {"Mocha1 Munch",2.4,450},
            {"Mocha2 Munch",2.5,550},
    };
    cout << "The snack name is " << snack[0].name << " weight is " << snack[0].weight << " calories is " << snack[0].calorie << endl;
    cout << "The snack1 name is " << snack[1].name << " weight is " << snack[1].weight << " calories is " << snack[1].calorie << endl;
    cout << "The snack2 name is " << snack[2].name << " weight is " << snack[2].weight << " calories is " << snack[2].calorie << endl;
    return 0;
}

William Wingate 从事披萨饼分析服务。对于每个披萨饼,他都需要记录下列信息:
(1)披萨饼公司的名称,可以有多个单词组成
(2)披萨饼的直径
(3)披萨饼的重量
请设计一个能够存储这些信息的结构,并编写一个使用这种结构变量的程序。
程序将请求用户输入上述信息,然后显示这些信息。请使用cin(或它的方法)和cout。

#include <iostream>
using namespace std;
int main() {
    struct Pizza{
        string name;
        float diameter;
        float weight;
    };
    Pizza pizza;
    cout << "Please enter pizza name!" << endl;
    getline(cin, pizza.name);
    cout << "Please enter pizza diameter!" << endl;
    cin >> pizza.diameter;
    cout << "Please enter pizza weight!" << endl;
    cin >> pizza.weight;
    cout << "The pizza name is " << pizza.name << " diameter is " << pizza.diameter << " weight is " << pizza.weight;
    return 0;
}

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

#include <iostream>
using namespace std;
int main() {
    struct Pizza{
        string name;
        float diameter;
        float weight;
    };
    Pizza * pizza = new Pizza;
    cout << "Please enter pizza name!" << endl;
    getline(cin, pizza->name);
    cout << "Please enter pizza diameter!" << endl;
    cin >> pizza->diameter;
    cout << "Please enter pizza weight!" << endl;
    cin >> pizza->weight;
    cout << "The pizza name is " << pizza->name << " diameter is " << pizza->diameter << " weight is " << pizza->weight;
    return 0;
}

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

#include <iostream>
using namespace std;
int main() {
    struct CandyBar{
        string name;
        float weight;
        int calorie;
    };
    CandyBar * snack = new CandyBar[3]{
            {"Mocha Munch",2.3,350},
            {"Mocha1 Munch",2.4,450},
            {"Mocha2 Munch",2.5,550},
    };
    cout << "The snack name is " << snack[0].name << " weight is " << snack[0].weight << " calories is " << snack[0].calorie << endl;
    cout << "The snack1 name is " << snack[1].name << " weight is " << snack[1].weight << " calories is " << snack[1].calorie << endl;
    cout << "The snack2 name is " << snack[2].name << " weight is " << snack[2].weight << " calories is " << snack[2].calorie << endl;
    return 0;
}

编写一个程序,让用户输入三次40码跑的成绩(如果您愿意,也可以让用户输入40米跑的成绩),
并显示次数和平均成绩,请使用一个array对象来存储数据。

#include <iostream>
#include "array"
using namespace std;
int main() {
    array<double , 4> grade;
    cout << "Enter 4 garden!(Enter key to enter the next one)" << endl;
    cin >> grade[0];
    cin >> grade[1];
    cin >> grade[2];
    cin >> grade[3];
    cout << "First garde is: " << grade[0] << endl;
    cout << "Second garde is: " << grade[1] << endl;
    cout << "Third garde is: " << grade[2] << endl;
    cout << "Fourth garde is: " << grade[3] << endl;
    return 0;
}

编写一个要求用户输入两个整数的程序。该程序将计算并输出这两个整数之间(包括这两个整数)所有整数的和。这里假设先输入较小的整数。例如,如果用户输入的是2和9,则程序将指出2~9之间所有整数和为44.

#include <iostream>

using namespace std;
int main() {
    int min, max;
    int sum = 0;
    cout << "Enter a min number!" << endl;
    cin >> min;
    cout << "Enter a max number!" << endl;
    cin >> max;
    for(min; min <= max; min++){
        sum = sum + min;
    };
    cout << "Sum = " << sum << endl;
    return 0;
}

使用array对象(而不是数组)和long double(而不是long long)重新编写程序清单5.4,并计算100!的值。

#include <iostream>
#include "array"
using namespace std;
const int ArSize = 101;
int main() {
    array<long double, ArSize> factorials;
    factorials[0] = factorials[1] = 1L;
    int j;
    for(int i = 2 ; i < ArSize ; i++){
        factorials[i] = factorials[i-1] * i;
        j = i;
    }
    cout << j << "! = " << factorials[j] << endl;
    return 0;
}

编写一个要求用户输入数字的程序。每次输入后,程序都将报告到目前为止,所有输入的累计和。当用户输入0时,程序结束。

#include <iostream>
using namespace std;
int main() {
    double number, sum;
    do{
        cout << "Enter 0 to end!" << endl;
        cin >> number;
        sum += number;
        cout << "Sum = " << sum << endl;
    } while (number != 0);
    cout << "END!!!!!" << endl;
    return 0;
}

Daphe以10%的单利投资了100美元。也就是说,每一年的利润都是投资额的10%,即每年10美元:
利息 = 0.10x原始存款
而Cleo以5%的复利投资了100美元。也就是说,;利息是当前存款(包括获得利息)的5%;
利息 = 0.05x当前存款
Cleo在第一年投资100美元的盈利是5%,计算多少年后,Cleo的投资价值才能超过Daphne的投资价值,并显示此时两人的投资价值。

#include <iostream>
using namespace std;
int main() {
    double Daphne = 100, valueD = 0,Cleo = 100, valueC = 0;
    int year;
    for(int i = 1, j = 1; valueD >= valueC; i++, j++){
        valueD += Daphne * 0.1;
        valueC = Cleo * 0.05;
        Cleo += Cleo + valueC;
        year = i;
    }
    cout << year << " years Cleo value > Daphne value " << endl;
    cout << "Daphne value is : " << valueD << endl;
    cout << "ClEO value is : " << valueC << endl;
    return 0;
}

*假设要销售《C++ For Fools》一书。请编写一个程序,输入全年中每个月的销售量(图书数量,而不是销售额)。程序通过循环,使用初始化为月份字符串的char 数组(或string对象数组)逐月进行提示,并将输入的数据储存在一个int数组中。然后程序计算数组中各元素的总数,并报告这一年的销售情况。
完成上述编程练习,使用一个二维数组来存储输入——3年中每个月的销售量。程序将报告每年销售量以及三年的总销售量。

#include <iostream>
#include "string"
using namespace std;
const int arrSizeM = 12, arrSizeY = 3;
const string month[] = {
        "Jan","Feb","Mar","Apr","May","Jun",
        "July","Aug","Sqp","Oct","Nov","Dec"
};
int main() {
    int num[arrSizeY][arrSizeM];
    int years[3] = {1, 2, 3};
    for(int i = 0; i < arrSizeY; i++){
        for(int j = 0; j < arrSizeM; j++ ){
            cout << "Enter books sales for " << month[j] << " in " << years[i] << endl;
            cin >> num[i][j];
        }
    };

    cout << " ";
    for(int i = 0; i < arrSizeM; i++){
        cout << month[i] << " ";
    };
    cout << " sum " << endl;

    int sum[3] = {0, 0, 0};
    for(int i = 0; i < arrSizeY; i++){
        cout << years[i] << " : ";
        for (int j = 0; j < arrSizeM; j++) {
            cout << num[i][j] << " ";
            sum[i] += num[i][j];
        }
        cout << sum[i] << endl;
    }
    cout << "Sum = " << sum[0] + sum[1] + sum[2];
    return 0;
}

设计一个名为car的结构,用它存储下述有关汽车的信息: 生产商(存储在字符数组或string对象中的字符串)、 生产年份(整数)。编写一个程序,向用户询问有多少辆汽车。随后,程序使用new来创建一个由相应数量的car结构组成的动态数组。 接下来,程序提示用户输入每辆车的生产商(可能由多个单词组成)和年份信息。请注意,这需要特别小心,因为它将交替读取 数值和字符串。

#include <iostream>
#include "string"
using namespace std;
int main() {
    struct car{
        string name;
        int year;
    };
    int number;
    cout << "How many cars do you wish to catalog?" << endl;
    cin >> number;
    car * cars = new car[number]{};
    for (int i = 0; i < number; i++) {
        cout << "Car #" << i + 1 << endl;
        cout << "Please enter the make: " << endl;
        cin.get();
        getline(cin, cars[i].name);
        cout << "Please enter the year made: " << endl;
        cin >> cars[i].year;
    }
    cout << "Here is your collection:" << endl;
    for (int i =0; i < number; i++) {
        cout << cars[i].year << " " << cars[i].name << endl;
    }
    return 0;
}

编写一个程序,它使用一个char数组和循环来每次读取一个单词,直到用户输入done为止。随后该程序指出用户输入了多少个单词(不包括done在内)

#include <iostream>
#include <cstring>
using namespace std;
const int arrSize = 20;
int main() {
    char * words[arrSize];
    int i = 0, sum = 0;
    cout << "Enter words (to stop , type the word done)" << endl;
    cin >> words[i];
    while (strcmp(words[i], "done") != 0){
        ++i;
        sum++;
        char * n;
        cin.get();
        cin >> n;
        words[i] = n;
    }
    cout << "You entered a total of " << sum << " words." << endl;
    return 0;
}

http://lihuaxi.xjx100.cn/news/1007419.html

相关文章

消防基础知识——燃烧与火灾

燃烧 燃烧的本质与条件 发光、发热的剧烈的氧化反应 可燃物、助燃剂&#xff0c;火源燃烧可从着火方式&#xff0c;持续燃烧形式&#xff0c;燃烧物形态&#xff0c;燃烧现象等不同角度作不同分类。按照燃烧形成的条件和发生瞬间的特点&#xff0c;燃烧可分为着火和爆炸。液体…

nacos本地启动单节点

1.官网下载 Releases alibaba/nacos GitHub 解压文件 unzip nacos-server-2.2.1.zip cd /Users/xiaosa/dev_tools/nacos/bin sh startup.sh -m standalone 启动不成功&#xff0c;报错入如下 原因是下面的配置为空。位置在nacos/config目录下的application.properties文件…

牛客网算法八股刷题系列(八)K-Means真题描述

牛客网算法八股刷题系列——K-Means真题描述题目描述正确答案&#xff1a;A\mathcal AA题目解析题目描述 两个种子点A(−1,1),B(2,1)A(-1,1),B(2,1)A(−1,1),B(2,1)&#xff0c;其余样本点为(0,0),(0,2),(1,1),(3,2),(6,0),(6,2)(0,0),(0,2),(1,1),(3,2),(6,0),(6,2)(0,0),(0,…

人工智能前沿——「全域全知全能」人类新宇宙ChatGPT

&#x1f680;&#x1f680;&#x1f680;OpenAI聊天机器人ChatGPT——「全域全知全能」人类全宇宙大爆炸&#xff01;&#xff01;&#x1f525;&#x1f525;&#x1f525; 一、什么是ChatGPT?&#x1f340;&#x1f340; ChatGPT是生成型预训练变换模型&#xff08;Chat G…

李宏毅2021春季机器学习课程视频笔记11-卷积伸进网络(CNN)

卷积神经网络架构 图像识别 将图片拉直放入神经网络中进行训练。 网络通过对图像中的存在的特征进行分析&#xff0c;判断当前属于何种类别。 神经网络其实不需要对整个图片进行分析&#xff0c;只需要对一些特殊的信息进行分析就可以得知当前图片所属的类别&#xff0c;基于此…

JSON 元素的添加删除

javasscript删除数组的3种方法 1&#xff0c;用shift()方法 shift&#xff1a;删除原数组第一项&#xff0c;并返回删除元素的值&#xff1b;如果数组为空则返回undefined var chaomao[1,2,3,4,5] var chaomao.shift()//得到1 alert(chaomao)//[2,3,4,5] 2&#xff0c;用pop()…

4Arm PEG Glutathione,四臂聚乙二醇谷胱甘肽,多臂PEG衍生物相关知识分享整理

●中文名&#xff1a;四臂PEG谷胱甘肽&#xff0c;四臂聚乙二醇谷胱甘肽&#xff0c;四臂4arm-PEG-谷胱甘肽 ●英文名&#xff1a;4 Arm PEG Glutathione&#xff0c;4-Arm PEG-Glutathione 结构式&#xff1a; ●外观以及性质&#xff1a; 4 Arm PEG Glutathione产物呈固体…

在vscode中切换分支,显示已经删除的远程分支

运行命令&#xff1a;修剪远程分支 git remote prune origin 然后远程的已经删除的分支就不见了。