C++primer[习题][第一章][11-20]

  • 1.11
#include <iostream>
int main()
{
    std::cout << "enter two numbers" << std::endl;
    int num1, num2;
    std::cin >> num1 >> num2;
    while (num1 <= num2)
    {
        std:: cout << num1 << " ";
        num1 ++;
    }
    return 0;
}

enter two numbers
1 10
1 2 3 4 5 6 7 8 9 10

  • 1.12
int sum = 0;
for (int i = -100; i <= 100; i++)
    sum += i;

以上代码完成求-100到100的累加和的功能。
sum的结果为0。

  • 1.13
#include <iostream>
int main()
{
    //1.9
    int sum = 0;
    for (int i = 50; i <= 100; i++)
        sum += i;
    std::cout << "the sum of 50 to 100 is " << sum << std::endl;

    //1.10
    for (int i = 10; i >= 0; i--)
        std::cout << i << " ";
    std::cout << std::endl;

    //1.11
    int num1, num2;
    std::cin >> num1 >> num2;
    for (int i = num1; i <= num2; i++)
        std::cout << i << " ";
    std::cout << std::endl;
    return 0;
}
  • 1.14
    for循环比较适合循环次数已知的情况。
    while循环比较适合循环次数未知,或者比较难求的情况。
    两种循环是等价的,可以相互转换。

  • 1.15

语法错误

#include <iostream>
//语法错误 
//main函数拼错 
int mian()  
{
    //endl使用冒号
    std::cout << std::endl:
    //字符串漏掉引号
    std::cut << ABCDEFG << std::endl;
    //漏掉第二个输出运算符
    std::cut << ABCDEFG std::endl;
    //漏掉分号
    return 0 
}
        In function 'int mian()':
7   24  [Error] found ':' in nested-name-specifier, expected '::'
7   20  [Error] 'std::endl' is not a class or namespace
9   14  [Error] 'ABCDEFG' was not declared in this scope
11  2   [Error] 'cut' is not a member of 'std'
11  22  [Error] expected ';' before 'std'
14  1   [Error] expected ';' before '}' token

类型错误

#include <iostream>
//类型错误
int main()
{
    int num = "hello";
    return 0;
}

5 12 [Error] invalid conversion from ‘const char*’ to ‘int’ [-fpermissive]

声明错误

#include <iostream>
//声明错误
int main()
{
    int num1, num2;
    std::cin >>num >> num1;
    return 0;
}

6 13 [Error] ‘num’ was not declared in this scope

  • 1.16
#include <iostream>
int main()
{
    int num, sum = 0;
    while (std::cin>>num)
        sum += num;
    std::cout << "the sum is " << sum << std::endl;
    return 0;
}

1 2 3 4 5 6 ^Z
the sum is 21

  • 1.17
    如果输入的值都是相等的,则会输出一句 num occurs n times。
    如果输入的值都不想等,则会输出n句 num occurs 1 times。

  • 1.18
    输入相同的值

    1 1 1 1 1 1 ^Z
    1 occurs 6 times
    输入不同的值
    1 2 3 4 5 6 ^Z
    1 occurs 1 times
    2 occurs 1 times
    3 occurs 1 times
    4 occurs 1 times
    5 occurs 1 times
    6 occurs 1 times

  • 1.19

#include <iostream>
int main()
{
    int num1, num2;
    std::cin >> num1 >> num2;
    if (num1 > num2)
    {
        num1 += num2;
        num2 = num1 - num2;
        num1 = num1 - num2;
    }
    for (int i = num1; i <= num2; i++)
        std::cout << i << " ";
    return 0;
}

5 1
1 2 3 4 5

  • 1.20
#include <iostream>
#include "Sales_item.h"
int main()
{
    Sales_item book;
    std::cin >> book;
    std::cout << book << std::endl;
    return 0;
}

0-201-70353-x 4 24.99
0-201-70353-x 4 99.96 24.99

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值