公务员面试(c语言)

1./ 描述

//公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。
//(注:本题有多组输入)
//输入描述:
//每一行,输入7个整数(0~100),代表7个成绩,用空格分隔。
//输出描述:
//每一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位,每行输出后换行。
// 输入:99 45 78 67 72 88 60
//输出: 73.00

2.方法一:我们先输入坐标,然后将数据存储在arr上,然后我们用冒泡函数进行比较求出最大值与最小值。不进行判断,将其他值相加为sum/5。(注意:不能多组输入)

cs 复制代码
#include<stdio.h>
int main()
{
	int input = 1;
	do
	{
		double sum = 0;
		int arr[7] = { 0 };
		//将数据存储起来
		for (int i = 0; i < 7; i++)
		{
			scanf_s("%d", &arr[i]);
		}
		//冒泡函数
		for (int i = 0; i < 7; i++)
		{
			for (int j = 0; j < 6; j++)
			{
				if (arr[j] > arr[j + 1])
				{
					int tmp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = tmp;
				}
			}
		}
		//去了最大与最小的总和
		for (int j = 1; j < 6; j++)
		{
			sum = sum + arr[j];
		}
		//小数点的二位
		printf("%.2lf\n", sum / 5.0);
	} while (input);
	return 0;
}

3.方法二:我们进行输入坐标s,因为成绩只要100分,假设max=0,min=100,当输入的值,大于max,就交换s==max,s小于min,就s==min,然后不断进行判断。

cs 复制代码
#include<stdio.h>
//方法二(分别进行判断)
int main()
{
	int s = 0;
	int n = 0;
	int max = 0;
	int min = 100;c
	int sum = 0;
	while ((scanf_s("%d",&s))==1)
	{
		n++;
		if (s > max)
		{
			max = s;
		}
		if (s < min)
		{
			min = s;
		}
		sum = sum + s;
		if (n == 7)
		{
			printf(".2lf\n", (sum - max - min) / 5.0);
			max = 0;
			min = 100;
			s = 0;
			sum = 0;
		}

	}
	return 0;
}
相关推荐
C++ 老炮儿的技术栈1 小时前
基于MFC+原生GDI手动自绘仪表盘控件
c语言·c++·visual studio·控件·工业控制·gdi·自绘
小肝一下1 小时前
3. 单链表
c语言·数据结构·c++·算法·leetcode·链表·dijkstra
程序员爱钓鱼1 小时前
Go 开发环境安装(Windows、macOS、Linux)
后端·面试·go
触底反弹2 小时前
🤯 面试被问 AI Workflow 和 Agent 有啥区别?3 张图 + 2 段代码讲清楚!
人工智能·设计模式·面试
uzong8 小时前
一个好的面试官,应该让候选人感到被尊重
面试
炸膛坦客10 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
触底反弹12 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
沉默王二13 小时前
腾讯一面,我霸气反问:“你说你们在做Agent项目,说说 SubAgent、Plan 模式、Skill 调用这些你们都是怎么做的?”面试官一直在擦汗。。
面试·agent·ai编程
程序员Rock17 小时前
上位机开发-MODBUS面试常见问题
c语言·c++·面试·职场和发展·上位机
PBitW21 小时前
git 中容易遗忘的点 (二) ⚡⚡⚡
前端·git·面试