2023 年第十四届蓝桥杯 C/C++ B组 C题冶炼金属 C语言题解

本文介绍了两个C语言函数,分别用于在一个数组中查找最大值(max)和最小值(min),通过输入整数数组a和b以及数组大小n,计算并输出这两个值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一次做,有不好的欢迎指出,谢谢

N可以更改题目需要的范围

#include <stdio.h>
#include <math.h>
#define N 100

int max(int a[N], int b[N], int n) { //在最大里面找最小值
	int i, small;
	int A[N] = {0};
	for (i = 0; i < n; i++) {
		A[i] = a[i] / b[i];
	}
	//比较找到最小值
	small = A[0];
	for (i = 1; i < n; i++) {
		if (small > A[i]) {
			small = A[i];
		}
	}
	return small;
}

int min(int a[N], int b[N], int n) { //在最小里面找最大值
	int i, big;
	int A[N] = {0};
	for (i = 0; i < n; i++) {
		A[i] = (a[i] / (b[i] + 1) + 1);
	}
	big = A[0];
	//比较找到最小值
	for (i = 1; i < n; i++) {
		if (big < A[i]) {
			big = A[i];
		}
	}
	return big;
}

int main() {
	int n, i;
	int a[N], b[N];
	int big, small;
	scanf("%d", &n);
	for (i = 0; i < n; i++) {
		scanf("%d %d", &a[i], &b[i]);
	}
	big = max( a, b, n);
	small = min(a, b, n);
	printf("%d %d", big, small);
	return 0;
}

目前尚未有2024第十四届蓝桥杯大赛软件赛国赛C/C++大学B的真题解发布,因为该赛事的时间线可能还未到达公布阶段[^1]。然而,可以基于以往的比赛形式和内容推测其考察的知识点范围以及提供一些常见的练习方向。 以下是关于如何准备此类比赛的一些指导: ### 准备指南 #### 一、熟悉基础算法 掌握基本的数据结构和经典算法对于参赛者至关重要。这包括但不限于数、链表、栈、队列等数据结构的应用;排序(快速排序、归并排序)、查找(二分法)、动态规划等问题解决方法的学习与实践。 ```cpp // 快速排序实现 (C++) void quickSort(int arr[], int low, int high){ if(low < high){ int pi = partition(arr,low,high); quickSort(arr, low, pi-1); quickSort(arr, pi+1, high); } } int partition (int arr[], int low, int high){ int pivot = arr[high]; int i = (low - 1); for (int j = low; j <= high- 1; j++){ if (arr[j] < pivot){ i++; swap(&arr[i], &arr[j]); } } swap(&arr[i + 1], &arr[high]); return (i + 1); } ``` ```java // 快速排序实现 (Java) public static void quickSort(int[] array, int start, int end) { if(start >= end) return; int pivotIndex = partition(array, start, end); quickSort(array, start, pivotIndex - 1); quickSort(array, pivotIndex + 1, end); } private static int partition(int[] array, int start, int end) { int pivotValue = array[end]; int index = start; for(int i=start;i<end;i++) { if(array[i]<pivotValue) { swap(array,i,index++); } } swap(array,end,index); return index; } ``` #### 二、深入理解编程语言特性 无论是使用C++还是Java参加竞赛,都需要深入了解所选语言的特点及其标准库的功能。例如,在C++中熟练运用STL容器类如vector、map等能够极大提高编码效率;而在Java里,则需熟知Collections框架下的各类集合类型及其实现原理。 #### 三、模拟实战训练 通过历进行反复演练是非常有效的备考方式之一。虽然现在无法获取到最新的2024具体目,但是可以通过分析往的考来预测可能出现的新颖考点,并针对性加强薄弱环节。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值