C++Primer第一章答案

1.1

int main()
{
    return 0;
}

1.2

int main()
{
    return -1;
}

无反应 环境windows10
1.3

#include <iostream>

int main()
{
    std::cout << "Hello World";
    std::cin.get();
    return 0;
}

1.4

#include <iostream>

int main()
{
    int n1 = 0, n2 = 0;
    std::cin >> n1 >> n2;
    std::cout << "n1*n2="<<n1*n2;
    std::cin.get();
    std::cin.get();
    return 0;
}

1.5

#include <iostream>

int main()
{
    int n1 = 0, n2 = 0;
    std::cin >> n1;
    std::cin >> n2;
    std::cout << "n1*n2=";
    std::cout <<n1*n2;
    std::cin.get();
    std::cin.get();
    return 0;
}

1.6
不合法
第二行第三行缺少std::cout

1.7“`cpp
#include

int main()
{
int n1 = 0, n2 = 0;
std::cin >> n1 >> n2;
std::cout << “n1n2=”<<n1n2;
std::cin.get();
std::cin.get();
/*

/*


*/

*/
return 0;

}

错误:
严重性 代码  说明  项目  文件  行   禁止显示状态
错误(活动)  E0029   应输入表达式
错误  C2059   语法错误:“/”
警告  C4138   在注释外找到“*/”  Project23
1.8
```cpp
#include <iostream>

int main()
{
    std::cout << "/*"; 正确
    std::cout << "*/";正确
    std::cout << /*"*/"*/ ;错误 输出 "*/  凑不齐
    std::cout << /*"*/ "/*"/*"*/;  正确/*"*/   注释掉了  /*"*/注释掉了  最后剩"/*"
    return 0;
}

1.9
`#include

int main()
{
int temp = 0;
int num = 49;
while (num++ < 100)
temp += num;

std::cout << temp;

std::cin.get();
return 0;

}`

得数3825
1.10
`#include

int main()
{
int num = 11;
while (–num>=0)
std::cout << num<<std::endl;

std::cin.get();
return 0;

}`

1.11
`#include

int main()
{
int n1 = 0, n2 = 0;
std::cin >> n1 >> n2;

int num = n1+1;
while (--num>=n2)
    std::cout << num<<std::endl;

std::cin.get();
std::cin.get();
return 0;

}`

1.12
for实现了-100到100 结果为0

1.13

#include <iostream>

int main()
{
    int temp = 0;
    for (int num = 49; num++ <100;temp+=num );

    std::cout << temp;
    std::cin.get();
    std::cin.get();
    return 0;
}

#include <iostream>

int main()
{

    for (int num = 11; --num >= 0; std::cout << num<<std::endl);


    std::cin.get();
    std::cin.get();
    return 0;
}

#include <iostream>

int main()
{
    int n1 = 0, n2 = 0;
    std::cin >> n1 >> n2;


    for (int num = n1 + 1; --num >= n2; (std::cout << num<<std::endl));

    std::cin.get();
    std::cin.get();
    return 0;
}

1.14
for相对while更简洁
while进行条件判断更方便

1.15

1.16

#include <iostream>

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

    while (std::cin >> temp)
        num += temp;

    std::cout << num;


    system("pause");
    return 0;
}

1.17
不会执行if 输入完毕后直接输出一个数的结果
1.18

1.19

#include <iostream>

int main()
{
    int n1 = 0, n2 = 0;
    std::cin >> n1 >> n2;

    if(n1 < n2)
        std::swap(n1, n2);
    for (int num = n1 + 1; --num >= n2; (std::cout << num << std::endl));

    std::cin.get();
    std::cin.get();
    return 0;
}

1.20-25

留下评论