题目目录:
No.1 B2089 数组逆序重存放
No.2 B2090 年龄与疾病
No.3 B2091 向量点积计算
OK,开始正文!
第一题:B2089 数组逆序重存放
题目描述
将一个数组中的值按逆序重新存放。例如,原来的顺序为 8,6,5,4,1。要求改为 1,4,5,6,8。
输入格式
输入为两行:第一行数组中元素的个数 nn(1<n≤100),第二行是 n 个整数,每两个整数之间用空格分隔。
输出格式
输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。
输入输出样例
输入 #1
5 8 6 5 4 1
输出 #1
1 4 5 6 8
思路:
输入,然后遍历一下,再输出,很简单的一道题
AC代码:
#include <bits/stdc++.h>
using namespace std;
int a[105];
int main()
{
int n;
cin >> n;
for(int i=0;i<n;i++)
{
cin >> a[i];
}
for(int i=n-1;i>=0;i--)
{
cout<<a[i]<<" ";
}
return 0;
}
第二题:B2090 年龄与疾病
题目描述
某医院进行一项研究,想知道某项疾病是否与年龄有关。因此对以往的诊断记录进行整理,统计 0-18 、 19-35 、 36-60、 61 及以上这四个年龄段的患者人数占总患者人数的比例。
输入格式
输入共 2 行。
第一行包含一个整数 N(0<n≤1000),表示总患者人数。
第二行包含 N 个整数,代表这 N 个患者就诊时的年龄。
输出格式
输出共 4 行。
第 1 行包含一个百分数,这个百分数保留小数点后 2 位,代表 0−18 岁这个年龄段的患者人数占总患者人数的比例。
第 2 行包含一个百分数,这个百分数保留小数点后 2 位,代表 19−35 岁这个年龄段的患者人数占总患者人数的比例。
第 3 行包含一个百分数,这个百分数保留小数点后 2 位,代表 36−60 岁这个年龄段的患者人数占总患者人数的比例。
第 4 行包含一个百分数,这个百分数保留小数点后 2 位,代表 61 岁及以上这个年龄段的患者人数占总患者人数的比例。
输入输出样例
输入 #1
10 1 11 21 31 41 51 61 71 81 91
输出 #1
20.00% 20.00% 20.00% 40.00%
输入 #2
12 10 19 86 94 58 57 34 19 88 69 5 13
输出 #2
25.00% 25.00% 16.67% 33.33%
思路:
搞一个数组存储每个年龄段多少人,然后除一下
AC代码:
#include <bits/stdc++.h>
using namespace std;
double a[5];
int main()
{
int n;
cin >> n;
for(int i=0;i<n;i++)
{
int x;
cin >> x;
if(x<=18)
{
a[1]++;
}
if(x>18&&x<=35)
{
a[2]++;
}
if(x>35&&x<=60)
{
a[3]++;
}
if(x>60)
{
a[4]++;
}
}
printf("%.2lf%%\n",a[1]/n*100);
printf("%.2lf%%\n",a[2]/n*100);
printf("%.2lf%%\n",a[3]/n*100);
printf("%.2lf%%\n",a[4]/n*100);
return 0;
}
第三题:B2091 向量点积计算
思路:
根据题意,乘一下,然后累加和
AC代码:
#include <bits/stdc++.h>
using namespace std;
int a[1005],b[1005];
int main()
{
int n;
cin >> n;
for(int i=0;i<n;i++)
{
cin >> a[i];
}
for(int i=0;i<n;i++)
{
cin >> b[i];
}
int sum=0;
for(int i=0;i<n;i++)
{
sum+=a[i]*b[i];
}
cout<<sum;
return 0;
}
这篇博客就到这里啦,我们下篇博客见!