《C++ Primer》第01章习题练习9~16题

本篇是《C++ Primer》(第5版)第1章的习题练习9~16题的答案。

练习9:编写程序,使用while循环将50到100的整数相加。

#include <iostream>

int main()
{
    int sum = 0;
    int i = 50;
    while(i <= 100)
    {
        sum = sum  + i;
        ++i;
    }
    
    std::cout << "sum =======" << sum;
    
    return 0;
}

练习10:除了++运算对象的值增加1之外,还有一个递减运算符(——)实现将值减少1.编写程序,使用递减运算符在循环中按递减顺序打印出10到0之间的整数。

#include <iostream>

int main()
{
    int i = 10;
    while(i >= 0)
    {
        std::cout << "i=========" << i << std::endl;
        i--;
    }
    
    return 0;
}

练习11:编写程序,提示用户输入两个整数,打印这两个整数所指定的范围内的所有整数。

#include <iostream>


int main()
{
    int param1 = 0;
    int param2 = 0;
    std::cout << "请输入param1和param2的值:" << std::endl;
    std::cin >> param1 >> param2;
    std::cout << "param1 到 param2之间的整数为:" << std::endl;
    if(param1 > param2)
    {
        while(param1 >= param2)
        {
            std::cout << param1 << std::endl;
            param1--;
        }
    }
    else
    {
        while(param1 <= param2)
        {
            std::cout << param1 << std::endl;
            param1++;
        }
    }
    
    return 0;
}

练习12:下面的for循环完成了什么功能?sum的终值 是多少?

int sum = 0;

for(int i = -100; i <= 100; ++i)

    sum += i;

完成-100到100之间所有数的和。

#include <iostream>


int main()
{
    
    int sum = 0;
    for(int i = -100; i <= 100; ++i)
    {
        sum += i;
    }
    std::cout << "sum==========" << sum << std::endl;
    return 0;
}

 

练习13:使用for循环重做1.4.1节中的所有练习(第11页)。

#include <iostream>

int main()
{
    int sum = 0;
    for(int val = 1; val <= 10; ++val)
    {
        sum += val;
    }
    
    std::cout << "sum of 1 to 10 inclusive is " << sum << std::endl;
    
    return 0;
}

练习14:对比for循环和 while循环,两种形式的优缺点各是什么?
解答: 在循环次数已知的情况下,for循环的形式显得更为简洁。而循环次数无法预知时,用while循环实现更适合。用特定条件控制循环是否执行,循环体中执行的语句可能导致循环判定条件发生变化。
 
 
练习15:编写程序,包含第14页”再控编译“中讨论的常见错误。熟悉编译器生成的错误信息。
 

练习16:编写程序,从cin读取一组数,输出其和。

#include <iostream>

int main()
{
    
    int value;
    int sum = 0;
    std::cout << "请输入value的值:" << std::endl;
    while(std::cin >> value)
    {
        sum += value;
    }
    
    std::cout << "sum ======================== " << sum << std::endl;
    
    return 0;
}

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值