跳转到内容

Cpp class exercise 2:修订间差异

HanyuTech留言 | 贡献
HanyuTech留言 | 贡献
无编辑摘要
第1行: 第1行:
{{DISPLAYTITLE: “C++ 编程入门班” 练习二}}
{{DISPLAYTITLE: “C++ 编程入门班” 练习二}}
{{DISPLAYTITLE: “C++ 编程入门班” 练习二}}


第17行: 第14行:


== 分支结构:简单单分支 ==
== 分支结构:简单单分支 ==
例2.1
<syntaxhighlight lang="C++" line>
<syntaxhighlight lang="C++" line>
#include <iostream>
#include <iostream>
第26行: 第24行:
     cout << "请输入一个任意整数:" << endl;
     cout << "请输入一个任意整数:" << endl;
     cin >> i;
     cin >> i;
     if(i % 2 == 0)
     if(i % 2 == 0)
     cout << "这是一个偶数。";
     cout << "这是一个偶数。"; //分支部分只有一个语句
return 0;
 
    return 0;
}
}
</syntaxhighlight>
</syntaxhighlight>
=== 小知识:整除 ===
% 是整除符号,结果是0(可以除尽时)或者余数(除不尽时)
例如:
10 % 2 , 除得尽,结果是0(没有余数)
10 % 3 , 除不尽,结果是余数1


== 分支结构:简单双分支 ==
== 分支结构:简单双分支 ==


<syntaxhighlight lang="C++" line>
<syntaxhighlight lang="C++" line>
//例2.2
#include <iostream>
#include <iostream>
using namespace std;
using namespace std;
第44行: 第52行:
     cin >> i;
     cin >> i;
     if(i % 2 == 0)
     if(i % 2 == 0)
     cout << "这是一个偶数。";
     cout << "这是一个偶数。";//分支1部分只有一个语句
     else
     else
     cout << "这是一个奇数。";
     cout << "这是一个奇数。";//分支2部分只有一个语句
return 0;
 
    return 0;
}
}
</syntaxhighlight>
</syntaxhighlight>
第53行: 第62行:


== 分支结构:复杂分支 ==
== 分支结构:复杂分支 ==
例2.3
<syntaxhighlight lang="C++" line>
<syntaxhighlight lang="C++" line>
#include <iostream>
#include <iostream>
第73行: 第83行:
     if(answer == k)
     if(answer == k)
     {  
     {  
        //分支部分有多个语句时,需要使用{}   
     cout << "回答正确!"<< endl;
     cout << "回答正确!"<< endl;
     cout << i <<"+" <<j <<"=" << k << endl;
     cout << i <<"+" <<j <<"=" << k << endl;
第87行: 第98行:


== 循环结构:“当”型循环 ==
== 循环结构:“当”型循环 ==
 
例2.4
 
 
<syntaxhighlight lang="C++" line>
<syntaxhighlight lang="C++" line>
#include <iostream>
#include <iostream>
第108行: 第117行:


== 循环结构:“直”型循环 ==
== 循环结构:“直”型循环 ==
 
例2.5
<syntaxhighlight lang="C++" line>
<syntaxhighlight lang="C++" line>
#include <iostream>
#include <iostream>
第126行: 第135行:
</syntaxhighlight>
</syntaxhighlight>


== 循环结构:“当”型 “直”型的区别 ==
== 扩展1:“当”型 “直”型循环结构的区别 ==
例2.4、例2.5的运行结果都一样,那两种结构有什么区别呢?


<syntaxhighlight lang="C++" line>
请大家把 例2.4、例2.5 第6行改为
<syntaxhighlight lang="C++">
int i =3;
</syntaxhighlight>
</syntaxhighlight>
运行结果会有什么不同呢?从中可以看出 “当”型 和 “直”型结构的区别是什么呢?


== 循环结构:计次循环 ==
== 循环结构:计次循环 ==
 
例2.6
<syntaxhighlight lang="C++" line>
<syntaxhighlight lang="C++" line>
#include <iostream>
#include <iostream>
第150行: 第165行:
== 结构嵌套 ==
== 结构嵌套 ==
在循环结构中嵌套选择结构
在循环结构中嵌套选择结构
例2.7
<syntaxhighlight lang="C++" line>
<syntaxhighlight lang="C++" line>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define random(x) (rand()%x)
using namespace std;
int main()
{
    int i,j,k;
    int n =0;
    while(n<3);
{
srand((int)time(0));//用系统时间来做种子
 
i = random(100);
j = random(100);
k = i + j ;
int answer;
    cout << i <<"+" <<j <<"= ?" << endl;
    cin >> answer;
    if(answer == k)
    {
    cout << "回答正确!"<< endl;
    cout << i <<"+" <<j <<"=" << k << endl;
    }
    else
    {
    cout << "回答错误!";
    cout << i <<"+" <<j <<"=" << k << endl;
    }
    n++;
}
   
return 0;
}
</syntaxhighlight>
</syntaxhighlight>
== 扩展2 ==
请使用“直”型 改写 例2.7
== 扩展3 ==
请使用计次循环结构 改写 例2.7