第一阶段的内容:
输入、输出、变量
关键点:printf的使用、数据类型int double char bool
分支选择结构
关键点:if/if else/if else if /选择嵌套/switch case/break/逻辑运算符
循环结构
关键点:while/do while/for/break continue/循环的嵌套
例题:质数判断
题目描述:输入一个正整数,判断是否是素数。
输入描述:输入一个正整数
输出描述:如果是素数输出prime 如果不是输出not prime。
样例输入:97 样例输出:prime
样例输入:10 样例输出:not prime
#include #include using namespace std;int main(){int n = 0;//输入的数cin >> n;//输入一个数for(int i=2;i<=sqrt(n);i++){ 3 5 7 10 2到前一个数if(n%i="=0){//整除了cout" << "not prime" endl;}}cout "prime" endl;return 0;}例题:范围质数 题目描述:一行两个正整数,分别代表n和m,输出n和m之间的所有质数,数字用空格隔开。 输入描述:输入两个正整数 输出描述:空格隔开的一列数。 样例输入:2 样例输出:2 #include #include using namespace std;int main(){int n = 0,m = 0;//输入的数cin >> n >> m;//输入数bool isPrim;for(int j=n;j<=m;j++){isprim = true;for(int i="2;i<=sqrt(j);i++){//2到前一个数if(j%i==0){//整除了isPrim" false;break;}}if(isprim){cout << j " ";}}cout endl;return 0;}例题: peter的烟 p1150 题目描述:peter有n根烟,他每吸完一根烟就把烟蒂保存起来k(k>1)个烟蒂可以换一个新的烟,那么Peter 最终能吸到多少根烟呢?
输入描述:每组测试数据一行包括两个整数 n,k。
输出描述:对于每组测试数据,输出一行包括一个整数表示最终烟的根数。
样例输入:4 3 样例输出:5
样例输入:10 3 样例输出:14
第一个思路:
//烟 兑换比例 烟总数 烟蒂int n = 0, k = 0,b = 0,a = 0;cin >> n >> k;while(n!=0){//只要有烟抽 那我就一直抽n--;//抽一根b++;//总数加一根 计数a++;//烟蒂多一个if(a == k){//只要兑换比例够了a-=k;//兑换走n++;//加根烟}}cout << b << endl;第二个思路:
#include using namespace std;int main(){int n = 0, k = 0;//多少根烟 多少烟蒂换烟cin >> n >> k;int y = 0,yd = 0;//烟和烟蒂do{y += n;//全抽完yd += n;//多少根烟蒂n = yd/k;//兑换的烟yd = yd%k;//剩下的烟蒂}while(n>0);cout << y << endl;return 0;}一个有问题的思路:
//输入的烟 兑换比例 兑换的烟int n = 0,k = 0,s = 0;cin >> n >> k;s = n/k;//兑换完了所有的烟蒂if(n%k+s>=k){cout << n + s + 1 << endl;}else{cout << n + s << endl;}