查找支撑数
题目描述
在已知一组整数中,有这样一种数非常怪,它们不在第一个,也不在最后一个,而且刚好都比左边和
右边相邻的数大,你能找到它们吗?
输入
第一行为整数m,表示输入的整数个数。( 3<= m <=100 )
第二行为m个整数。
输出
若干个支撑数,每行一个。
输入复制
14
1 3 2 4 1 5 3 9 7 10 8 23 85 43
输出复制
3
4
5
9
10
85
#include<iostream>
using namespace std;
int main()
{
int a[110];
int n;
cin>>n;
for(int i = 0;i<n;i++)
{
cin>>a[i];
}
for(int i = 0;i<n-1;i++)
{
if(a[i]>a[i-1]&&a[i]>a[i+1])
{
cout<<a[i]<<endl;
}
}
return 0;
}
排除异形基因
题目描述
神舟号飞船在完成宇宙探险任务回到地球后,宇航员张三感觉身体不太舒服,去了医院检查,医生诊
断结果:张三体内基因已被改变,原有人体基因序列中已经被渗入外星球不明异形生物基因,但可喜
的是,这些异形基因都有一个共同的特征,就是该基因序号的平方除以7的余数都是1,要赶快清除掉,
否则会危害整个人类。赶快行动吧。
输入
第一行是一个整数n(基因个数,3<=n<=200) 第二行是n个整数(张三的基因序列)
输出
去除异形基因后的正常序列,空格隔开
输入复制
4
6 2 8 12
输出复制
2 12
#include<iostream>
using namespace std;
int main()
{
int a[100];
int n;
cin>>n;
for(int i = 0;i<n;i++)
{
cin>>a[i];
}
for(int i = 0;i<n;i++)
{
if(a[i]*a[i]%7!=1)
{
cout<<a[i];
}
}
return 0;
}
数据的读取写入
例子1:成绩计算
定义长度为5的数组,存储一个班同学的成绩(分数大家任意赋值),清问该班级同学的
总分和平均分分别是多少?(注意掌握数组赋值的2种形式)
例子2:成绩统计
期末考试结束,王老师想知道这次考试中成绩优秀的同学有多少人(考试成绩大于或等于
90表示成绩优秀),请你编程帮助王老师来计算出成绩优秀的人数。
写法一:先做一个循环,读入数组每个元素的值,再做一个循环,统计优秀分数的个数
写法二:每读入一个分数,就判断该分数是否是优秀的!
#include<iostream>
using namespace std;
int main()
{
int a[10];
int n = 5;
for(int i = 0;i<n;i++)
{
cin>>a[i];
}
int sum =0;
for(int i = 0;i<n;i++)
{
sum = sum + a[i];
}
cout<<sum<<endl;
cout<<sum/n<<endl;
return 0;
}
考试成绩的分布情况
题目描述
期末考试结束,小明的语文老师想知道,这次考试的成绩分布情况,主要计算如下几个数据:平
均分、>=平均分的总人数、<平均分的总人数,请你写程序帮助小明的语文老师来计算一下!
输入
第一行,一个整数n代表有n个人的成绩(n<=100)
第二行,n个人的语文成绩
输出
3个值,分别代表平均分、>=平均分的总人数、<平均分的总人数,请注意,平均分保留1位小数!
输入复制
5
100 98 97 99 90
输出复制
96.8 4 1
#include<iostream>
using namespace std;
int main()
{
int a[100];
int n = 0;
cin>>n;
for(int i = 0;i<n;i++)
{
cin>>a[i];
}
int cnt = 0;
for(int i = 0;i<n;i++)
{
if(a[i]>=90)
{
cnt++;
}
}
cout<<cnt<<endl;
return 0;
}
完美偶数
题目描述
完美偶数指的是,如果一个数本身是偶数,且这个数是偶数位的数,且这个数的各个位也是偶数,
那么这个数就可以称为完美偶数;比如:28就是完美偶数,而246就不是,因为246是一个3位数。
请你编程求出,从键盘读入的n个数中,哪些数是完美的偶数,输出他们。
输入
第一行是一个整数n(n<=100)
第二行是n个整数(这些整数都是1~9999范围内的整数)
输出
按顺序输出这n个数中的完美偶数,每个数一行
输入复制
5
26 4286 228 32
1280
输出复制
26
4286
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a[110];
int n;
cin>>n;
for(int i = 0;i<n;i++)
{
cin>>a[i];
}
int x;
cin>>x;
int cnt = 0;
for(int i =0;i<n;i++)
{
if(a[i]==x)
{
cnt++;
}
}
cout<<fixed<<setprecision(2)<<1.0*cnt/n;
return 0;
}
陶陶摘苹果
题目描述
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶
陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到
的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入
包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地
面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以
厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出
包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
输入复制
100 200 150 140 129 134 167 198 200 111
110
输出复制
5
#include<iostream>
using namespace std;
int main()
{
int a[20];
int h;
cin>>h;
int cnt = 0;
for(int i = 0;i<10;i++)
{
cin>>a[i];
}
if(h+30>=a[i])
{
cnt++
}
cout<<cnt;
return 0;
}
输出奇数和偶数
题目描述
输入n个整数,将其中的奇数和偶数分别显示出来(1 < n < 30)
输入
第一行:一个整数n。第二行:n个空格隔开的整数。
输出
第一行:若干个奇数。第二行:若干个偶数。(每个数前面都有一个空格)
输入复制
10
21 12 33 43 59 68 77 18 19 40
输出复制
21 33 43 59 77 19
12 68 18 40
#include<iostream>
using namespace std;
int main()
{
int a[50];
int n;
cin>>n;
for(int i = 0;i<n;i++)
{
cin>>a[i];
}
for(int i = 0;i<n;i++)
{
if(a[i]%2==0)
{
cout<<a[i]<<" ";
}
}
cout<<endl;
for(int i = 0;i<n;i++)
{
if(a[i]%2==1)
{
cout<<a[i]<<" ";
}
}
return 0;
}
拿到某个数的概率是多少?
题目描述
老师在一个不透明的纸袋里放入一些乒乓球,每个乒乓球上都有一个数字,当球放入之后,让小明
从中随机拿一个。在球放入之后,小明抽之前,老师想让您帮忙编程先计算一下,拿到某个数字x的
概率是多少?
比如:老师向袋子里面放入了5个球,对应的数字分别是2 3 2 4 2,那么拿到数字2的概率为3 / 5 =
0.6,拿到数字3的概率为1 / 5 = 0.2。(8.2)
输入
第一行是一个整数n代表袋子里球的个数(n<=100)
第二行n个数,代表袋子里每个球上面的数字的值
第三行一个整数x,是要计算出现概率的数字(x不一定在第
二行的n个数中出现,也就是说x对应的球可能在袋子里没
有)
输出
x被拿到的概率(结果保留2位小数)
输入复制
5
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a[110];
int n;
cin>>n;
for(int i = 0;i<n;i++)
{
cin>>a[i];
}
int x;
cin>>x;
int cnt = 0;
for(int i =0;i<n;i++)
{
if(a[i]==x)
{
cnt++;
}
}
cout<<fixed<<setprecision(2)<<1.0*cnt/n;
return 0;
}
青少年编程
V 13201376357