龙空技术网

C++学习:循环练习题(一)

分享电脑学习 35

前言:

而今看官们对“c语言循环结构例题难题”可能比较注意,你们都想要了解一些“c语言循环结构例题难题”的相关文章。那么小编在网络上收集了一些关于“c语言循环结构例题难题””的相关文章,希望大家能喜欢,各位老铁们快快来学习一下吧!

第一阶段的内容:

输入、输出、变量

关键点: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 <iostream>#include <cmath>using namespace std;int main(){int n = 0;//输入的数cin >> n;//输入一个数for(int i=2;i<=sqrt(n);i++){//2到前一个数if(n%i==0){//整除了cout << "not prime" << endl;}}cout << "prime" << endl;return 0;}

例题:范围质数

题目描述:一行两个正整数,分别代表n和m,输出n和m之间的所有质数,数字用空格隔开。

输入描述:输入两个正整数

输出描述:空格隔开的一列数。

样例输入:2 10 样例输出:2 3 5 7

#include <iostream>#include <cmath>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 <iostream>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;}

标签: #c语言循环结构例题难题