首页 分享 2019秋季期末实验复习C++【实验三:循环结构(一)】

2019秋季期末实验复习C++【实验三:循环结构(一)】

来源:花匠小妙招 时间:2024-12-06 13:45

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; }

12345678910111213141516171819

3.数小木块
【问题描述】

在墙角堆放着一堆完全相同的正方体小木块,如下图所示:

在这里插入图片描述

因为木块堆得实在是太有规律了,你只要知道它的层数就可以计算所有木块的数量了。
【输入形式】

只有一个整数 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; }

1234567891011121314151617181920

5.除法的精确计算
【问题描述】
输入两个正整数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; }

1234567891011121314151617181920

6.找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次方

1234567891011121314151617181920212223

7.幸运数字
【问题描述】
今年圣诞节,小明收到了很多礼物,每个礼物上都有一个数字, 对小明来说,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阿里中间件部门

推荐分享