高考组数。

题目名字

高考组题

题意

  1. 给定 n 组数,每组数中有 k 个数,求每组 k 个数的平均值,并输出平均值最大的两组数的编号,如果平均值相同就按id的先后输出。
  2. 要求 k 个数的平均值,我们可以用一个变量累加后除以 k,再建立变量来存储输入的先后,也就是编号。

思路

  1. 结构体里面定义两个变量,分别表示每组数的编号和平均值
  2. 再写一个函数来设定排序方式,先判断平均值是否相等,如果相等就按编号从小到大排序,否则就按平均值从大到小排序
  3. 最后输出数组的第一项和第二项的编号即可。

坑点

  1. 浮点数要除以浮点数,才能找到平均数

算法一:结构体+sort排序

时间复杂度

$

实现步骤
  1. 定义结构体
  2. 结构体里面定义两个变量,分别表示每组数的编号和平均值
  3. 再写一个函数来设定排序方式,先判断平均值是否相等,如果相等就按编号从小到大排序,否则就按平均值从大到小排序
  4. 最后输出数组的第一项和第二项的编号即可。
代码
#include<bits/stdc++.h>
using namespace std; 
int n,k;
struct st{
   
	int id,pjz;
}a[105];
int cmp(st x,st y){
   
	if(x.pjz==y.pjz) return x.id<y.id;
	else return x.pjz>y.pjz;
}
int main(){
   
	cin>>n>>k;
	for(int i=1;i<=n;i++){
   
		int ans=0;
		a[i].id=i;
		for(int j=1;j<=k;j++){
   
			int sum;
			cin>>sum;
			ans+=sum;
		}
		a[i].pjz=ans*1.0/k*1.0;
	}
	sort(a+1,a+n+1,cmp);
	cout<<a[1].id<<endl<<a[2].id;
	return 0;
}
 
 

总结

多读几遍,理解题意,才能知道需要什么步骤

相关推荐

  1. 高考

    2024-01-06 21:18:02       45 阅读
  2. 和字符串

    2024-01-06 21:18:02       32 阅读
  3. 【洛谷】高考

    2024-01-06 21:18:02       42 阅读
  4. 的基本算法

    2024-01-06 21:18:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-06 21:18:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-06 21:18:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-06 21:18:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-06 21:18:02       20 阅读

热门阅读

  1. MySQL5.7无法连接到[本地] MySQL 服务器

    2024-01-06 21:18:02       47 阅读
  2. 新版Edge如何卸载详细讲解

    2024-01-06 21:18:02       50 阅读
  3. 新版EDGE卸载

    2024-01-06 21:18:02       38 阅读
  4. c++求一个数是否是质数

    2024-01-06 21:18:02       41 阅读
  5. vue 微信扫码登录

    2024-01-06 21:18:02       48 阅读
  6. spring 之 TransactionManager使用详解

    2024-01-06 21:18:02       39 阅读
  7. python&Matplotlib四:Matplotlib设置图的样式和颜色

    2024-01-06 21:18:02       34 阅读
  8. 【Vue】灵魂拷问

    2024-01-06 21:18:02       34 阅读
  9. Flutter中的NotificationCenter和EventBus(超级简单!)

    2024-01-06 21:18:02       46 阅读
  10. Rabbitmq下载安装图文详解(Windows版_超详细)

    2024-01-06 21:18:02       41 阅读