实验4.1对任意一个一维数组,从中找出数组元素的最大值和最小值并输出 。 要求: 1)数组有10个元素; 2)使用scanf函数实现数组元素的输入,输入前给出必要的提示信息; 3)输出时,首先输出数组

/*SY4.1
题目描述
对任意一个一维数组,从中找出数组元素的最大值和最小值并输出 。
要求:
1)数组有10个元素;
2)使用scanf函数实现数组元素的输入,输入前给出必要的提示信息;
3)输出时,首先输出数组的十个元素,然后输出其最大值和最小值。 
样例输入
1 2 3 4 5 6 7 8 9 0
样例输出
a[0]=1
a[1]=2
a[2]=3
a[3]=4
a[4]=5
a[5]=6
a[6]=7
a[7]=8
a[8]=9
a[9]=0
max:9,min:0*/
#include <stdio.h>
int main()
{
	int a[10],i,max,min;
	for(i=0;i<10;i++)
		scanf("%d",&a[i]);
	for(i=0;i<10;i++)
		printf("a[%d]=%d\n",i,a[i]);
	max=a[0];
	min=a[0];
	for(i=0;i<10;i++)
	{
		if(a[i]>max)
			max=a[i];
		if(a[i]<min)
			min=a[i];
	}
	printf("max:%d,min:%d",max,min);
	return 0;
}
在Java中,你可以首先定义一个包含十个`float`类型的数组,然后通过循环遍历整个数组,找到最大的值,并将其与当已知的最大值进行比较。同,你可以创建一个新的数组用于存储排序后的结果,避免直接修改原始数组。以下是一个简单的示例: ```java import java.util.Arrays; public class FloatArraySort { public static void main(String[] args) { float[] floatArray = {5.0f, 1.5f, 8.7f, 2.9f, 6.3f, 4.1f, 9.0f, 3.5f, 7.2f, 0.0f}; // 十个浮点数的数组 // 找出最大值 float max = findMax(floatArray); System.out.println("最大值是: " + max); // 创建新数组并排序 float[] sortedArray = Arrays.copyOf(floatArray, floatArray.length); quickSort(sortedArray, 0, sortedArray.length - 1); System.out.println("数组从小到大排序后: " + Arrays.toString(sortedArray)); // 方法实现 private static float findMax(float[] array) { if (array.length == 0) return 0; float max = array[0]; for (float num : array) { if (num > max) { max = num; } } return max; } // 使用快速排序算法对数组进行排序 private static void quickSort(float[] arr, int low, int high) { if (low < high) { int pi = partition(arr, low, high); quickSort(arr, low, pi - 1); quickSort(arr, pi + 1, high); } } // 分区函数 private static int partition(float[] arr, int low, int high) { float pivot = arr[high]; // 最后一个元素作为基准 int i = (low - 1); // 小于基准的索引 for (int j = low; j < high; j++) { if (arr[j] <= pivot) { i++; float temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } float temp = arr[i + 1]; arr[i + 1] = arr[high]; arr[high] = temp; return i + 1; } } } ``` 在这个例子中,我们首先找出数组最大值,然后使用快速排序算法对数组进行了升序排列。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值