2019秋季期末实验复习C++【实验三:循环结构(一)】
1.桃子问题
【问题描述】
某人摘下一些桃子,第一天卖掉一半,又吃了一个,第二天卖掉剩下的一半,又吃了一个,以后各天都是如此处理,到第n天发现只剩下一只桃子,试编写程序计算一共摘的桃子个数。
【输入形式】
一行:一个整数n(1 < n <= 1000)
【输出形式】
一行:一个整数,表示一开始的桃子个数。
【样例输入】
2
【样例输出】
4
#include<iostream> using namespace std; int main () {int n,sum=1;cin>>n;for( ;n>1;n--){sum=2*(sum+1);}cout<<sum<<endl;return 0; } 123456789101112
2.爬虫
【问题描述】
一条虫子在n英寸深的井底,每次一分钟爬行u英寸,但是它在再次爬行前必须先休息1分钟, 在休息过程中它将滑落d英寸,在反复向上爬行和休息后,多长时间虫子能爬出这口井?在此过程中,分钟的小数部分向上取整,如果攀爬结束时虫子正好到达井的顶部,则视为虫子已经爬出。假定d<u,n<100,当n=0时输入结束。
【输入形式】
输入包括多个测试用例。每行包含3个正整数n、u、d,为上面所提到的值。
【输出形式】
每个测试用例输入一行,表示虫子爬出井的时间。
【样例输入】
10 2 1
20 3 1
0 0 0
【样例输出】
17
19
#include <iostream> using namespace std; int main(){int n,u,d,i=0,x;while(true){n=0;i=0;cin>>n>>u>>d;if(n==0){break;}else {x=(n-1)%(u-d);if(x!=0){i=(n-1)/(u-d)*2+1;}else{i=(n-1)/(u-d)*2-1;}cout<<i<<endl;} }return 0; }
123456789101112131415161718193.数小木块
【问题描述】
在墙角堆放着一堆完全相同的正方体小木块,如下图所示:
因为木块堆得实在是太有规律了,你只要知道它的层数就可以计算所有木块的数量了。
【输入形式】
只有一个整数 n ,表示这堆小木块的层数,已知1 <= n <= 100 。
【输出形式】
只有一个整数,表示这堆小木块的总数量。
【样例输入】
5
【样例输出】
35
#include<iostream> using namespace std; int main() {int n,sum=0;cin>>n;for(int i=1;i<=n;i++) {sum+=(i*i+i)/2;//第i层的木块数}cout<<sum<<endl;return 0; } 1234567891011
4.小X玩游戏
【问题描述】
小X在草稿纸上画了一行N(N>0)个格子作为棋盘, 制定了如下规则:格子从左到右依次编号为1到N,玩家初始位于格子1,初始前进方向为向右,游戏共进行M轮,第i轮玩家前进Ai(Ai>=0)格,若玩家到达格子N则改变前进方向为向左,若玩家到达格子1则改变前进方向为向右。
小X想知道玩家最后会停在哪个格子?
【输入形式】
第一行包含用一个空格隔开的两个整数N,M。
接下来M行,第i行包含一个整数Ai。
【输出形式】
第一行包含一个整数,表示玩家最后停留的格子编号。
【样例输入】
3 2
2
3
【样例输出】
2
#include<iostream> using namespace std; int main() {int N,M,Ai,x,y,z=0,i,m,n;cin>>N>>M;i=M;for(y=1; y<=i; y++) {cin>>Ai;z+=Ai;}m=z/(N-1);n=z%(N-1);if(n==0&&m%2==0) x=1;else if(n==0&&m%2!=0) x=N;else if(n!=0&&m%2==0) x=n+1;else if(n!=0&&m%2!=0) x=N-n;cout<<x;return 0; }
12345678910111213141516171819205.除法的精确计算
【问题描述】
输入两个正整数A和B,其中A和B都小于32767,求A/B的值,精确到小数点后N位(1<=N<=200)要求使用循环。
【输入形式】
输入只有一行,包括三个整数,分别为A、B和N。
【输出形式】
输出只有一行,包括一个数,这个数有N位小数。
【样例输入1】
10 3 10
【样例输出1】
3.3333333333
【样例输入2】
0 3 10
【样例输出2】
0.0000000000
#include<iostream> using namespace std; int main() {int a,b,A,B,N,i;cin>>A>>B>>N;cout<<A/B<<".";//先输出整数部分和小数点//for循环依次输出小数部分的每一位for(i=1; i<=N; i++) {if(i==1) {a=(A%B)*10/B;b=(A%B)*10%B;}else {a=b*10/B;b=b*10%B;}cout<<a;}return 0; }
12345678910111213141516171819206.找12
【问题描述】
输入正整数n,编程输出所有1~n之间所有含有数字12或12的倍数的所有的数(如:24、112等)。
【输入形式】
输入正整数n
【输出形式】
从小到大输出所有的符合条件的数,数字和数字之间使用空格分隔。
【样例输入】
30
【样例输出】
12 24
#include<iostream> #include<cmath> using namespace std; int main(){int n,i;double j;cin>>n;for(i=1;i<=n;i++){if(i%12==0){cout<<i<<" ";}else{for(j=2;i>=pow(10,j-1);j++){if((i%(int)pow(10,j)-i%(int)pow(10,j-2))/(int)pow(10,j-2)==12){cout<<i<<" ";break;}}}}return 0; } //pow(x,y); //x的y次方
12345678910111213141516171819202122237.幸运数字
【问题描述】
今年圣诞节,小明收到了很多礼物,每个礼物上都有一个数字, 对小明来说,4或者7的倍数才是幸运数字。
现在,小明想知道所有数字中幸运数字之和是多少?
【输入形式】
第一行一个整数n,表示小明收到了n份礼物。
第二行包含n个正整数,表示各份礼物上的数字。
【输出形式】
输出小明心目中的幸运数字之和。
【样例输入】
6
12 13 14 15 16 17
【样例输出】
42
#include<iostream> using namespace std; int main() {int n,sum=0;cin>>n;const int m=n;int a[m];for(int i=0; i<n; i++) {cin>>a[i];if((a[i]%4==0)||(a[i]%7==0)) sum=sum+a[i];}cout<<sum<<endl;return 0; } 1234567891011121314
相关知识
c++第二次实验
实验《观察花的结构》.docx
实验三
园艺植物病理学实验三6篇(全文)
《植物学实验》教学大纲
基于机器学习的鸢尾花数据集的三分类算法的实现 C++
实验二原生动物门—草履虫的形态结构与生命活动(综合实验)
人教复习测试一年级上学期小学语文期末模拟试卷(八套).docx
植物学实验 教学大纲
《药用植物学》学科介绍与期末复习指导学科介绍
网址: 2019秋季期末实验复习C++【实验三:循环结构(一)】 https://www.huajiangbk.com/newsview917786.html
上一篇: 秋荷 |
下一篇: 秋招笔记:2018阿里中间件部门 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039