编程启蒙 | 第53课 找最值
文摘
教育
2024-11-01 14:33
广东
适用于刚开始学习 C++语言的小学中高年级、初中低年级的同学。
第五章 数的存储与组织
53课 找最值
3312【例53.1】 最大数位置
http://bas.ssoier.cn:8086/problem_show.php?pid=3312
#include<bits/stdc++.h>
using namespace std;
long long a[1001];
int n;
int main() {
cin>>n;
for(int i=0; i<n; i++) {
cin>>a[i];
}
cout<< max_element(a,a+n)-a+1;
return 0;
}
3313【例53.2】 白细胞计数
http://bas.ssoier.cn:8086/problem_show.php?pid=3313
#include<cstdio>
#include<iostream>
#include<cmath> //因为要用到abs函数(返回绝对值)
#include<algorithm> //因为要用到sort排序
using namespace std;
double a[310],sum=0,m,avg;
int main()
{
int n,i;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
for(i=1;i<n-1;i++)
sum+=a[i];
avg=sum/(n-2);
m=abs(a[1]-avg);
for(i=2;i<n-1;i++)
{
if(abs(a[i]-avg)>m) m=abs(a[i]-avg);
}
printf("%.2lf %.2lf",avg,m);
return 0;
}
3314练53.1 打擂台
http://bas.ssoier.cn:8086/problem_show.php?pid=3314
#include<bits/stdc++.h>
using namespace std;
int main()
{
double ar[100]={0};
double max;
for(int i=0;i<10;i++)
{
cin>>ar[i];
}
max=ar[0];
for(int i=1;i<10;i++)
{
if(ar[i]>max)
{
max=ar[i];
}
}
cout<<max;
return 0;
}
3315练53.2 小明做题
http://bas.ssoier.cn:8086/problem_show.php?pid=3315
#include <bits/stdc++.h>
using namespace std;
int n,a,b,ans;
double maxx;
int main() {
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a>>b;
if(maxx<1.0*b/a) {
maxx=1.0*b/a;
ans=i;
}
}
cout<<ans;
return 0;
}
更多信奥内容,请关注【信奥营】!
[1].信息学奥赛一本通(C++)题解及知识点
[2].信奥一本通.编程启蒙C++题解合集
[3].信息学奥赛 | 备赛CSP-JS 常用网站
[4].信息学奥赛 | 信息学竞赛推荐书(更新)