C++ Primer Plus 第6版 中文版 第5章编程练习

本文提供多个C++程序实例,包括求解指定范围内整数之和、计算阶乘、累加输入数字直至输入为零等。通过这些实例,读者可以更好地理解C++中循环结构的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、

#include <iostream>

using namespace std;

int main()
{
    int min, max, sum=0;

    cout << "Enter min number: ";
    cin >> min;
    cout << "Enter max number: ";
    cin >> max;

    for(int i=min; i<=max; i++)
        sum += i;

    cout << "Sum between " << min
         << " and " << max << " is "
         << sum << endl;

    return 0;
}

2、

#include <iostream>
#include <array>

using namespace std;

const int ArSize = 101;

int main()
{
    array<long double, ArSize> arr;
    arr[0] = arr[1] = 1L;
    for(int i=2; i<ArSize; i++)
        arr[i] = i*arr[i-1];
    for(int i=0; i<ArSize; i++)
        cout << i << "! = " << arr[i] << endl;

    return 0;
}

3、

#include <iostream>

using namespace std;

int main()
{
    int sum=0, num;

    cin >> num;

    while(num != 0)
    {
        sum += num;
        cin >> num;
    }

    cout << "Sum is " << sum << endl;

    return 0;
}

4、

#include <iostream>

using namespace std;

int main()
{
    double sumDaphne = 100;
    double sumCleo = 100;
    int i = 0;

    while(sumCleo <= sumDaphne)
    {
        sumDaphne += 10;
        sumCleo += sumCleo*0.05;
        i++;
    }

    cout << "After " << i << " years, sumCleo is bigger than sumDaphne." << endl;
    cout << "sumCleo = " << sumCleo << ", sumDaphne = " << sumDaphne << endl;

    return 0;
}

5、

#include <iostream>

using namespace std;

const int MON = 12;

int main()
{
    const char * monthes[MON] = {
        "Jan", "Feb", "Mar", "Apr",
        "May", "Jun", "Jul", "Aug",
        "Sep", "Oct", "Nov", "Dec"
    };

    int arr[MON] = {0};
    int sum = 0;

    for(int i=0; i<12; i++)
    {
        cout << monthes[i] << " sales are: ";
        cin >> arr[i];
        sum += arr[i];
    }

    cout << "Sum is " << sum << endl;

    return 0;
}



6、

#include <iostream>

using namespace std;

const int MON = 12;

int main()
{
    const char * monthes[MON] = {
        "Jan", "Feb", "Mar", "Apr",
        "May", "Jun", "Jul", "Aug",
        "Sep", "Oct", "Nov", "Dec"
    };

    int arr[3][MON] = {0};
    long sum = 0;

    for(int i=0; i<3; i++)
    {
        cout << "The " << (i+1) << " year:" << endl;
        for(int j=0; j<12; j++)
        {
            cout << "\t" << monthes[j] << ": ";
            cin >> arr[i][j];
            sum += arr[i][j];
        }
        cout << endl;
    }

    cout << "Sum is " << sum << endl;

    return 0;
}

7、

#include <iostream>

using namespace std;

typedef struct {
    char maker[100];
    int year;
}Car;

int main()
{
    int carNumber;

    cout << "How many cars do you wish to catalog?";
    cin >> carNumber;

    Car *pCar = new Car[carNumber];

    for(int i=0; i<carNumber; i++)
    {
        cin.get();
        cout << "Car #" << (i+1) << ":" << endl;
        cout << "Please enter the make: ";
        cin.getline(pCar[i].maker, 100);
        cout << "Please enter the year made: ";
        cin >> pCar[i].year;
    }

    cout << "Here is your collection:" << endl;

    for(int i=0; i<carNumber; i++)
    {
        cout << pCar[i].year << " " << pCar[i].maker << endl;
    }

    delete [] pCar;

    return 0;
}

8、

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
    char word[100];
    int number = 0;

    cout << "Enter words (to stop, type the word done):" << endl;
    cin >> word;

    while(strcmp(word, "done"))
    {
        ++number;
        cin >> word;
    }

    cout << "You entered a total of " << number << " words.";

    return 0;
}

9、

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string word;
    int number = 0;

    cout << "Enter words (to stop, type the word done):" << endl;
    cin >> word;

    while(word != "done")
    {
        ++number;
        cin >> word;
    }

    cout << "You entered a total of " << number << " words.";

    return 0;
}

10、

#include <iostream>

using namespace std;

int main()
{
    int rows = 0;

    cout << "Enter number of rows: ";
    cin >> rows;

    for(int i=1; i<=rows; i++)
    {
        for(int j=1; j<=rows; j++)
        {
            if(j < (rows-i+1))
                cout << ".";
            else
                cout << "*";
        }
        cout << endl;
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值