C语言求一个数组的最大值?

Python033

C语言求一个数组的最大值?,第1张

C语言程序如下:

#include <stdio.h>

void fun(int a[],int n,int *k)

{

int i,maxxr,j

maxxr=a[0]

for(i=0i<ni++)

{

if(maxxr<a[i])

{

maxxr=a[i]

}

}

for(i=0i<ni++)

{

if(maxxr==a[i]){

j=i

break

}

}

*k=j

}

int main(void)

{

int a[10]={ 876,675,896,101,301,401,980,431,451,777},k

fun(a, 10, &k)

printf("%d,%d", k, a[k])

}

扩展资料:

思路:

1、先定义数组(其数组长度取最大值,题目要求为10),然后通过for循环给数组一个个赋值,即可得到一个数组;

2、找数组的最大值,这一步是最关键的一步,由于所输入的值不确定那个是最大值,故可以先设置另一个一个变量(index)来存储最大值变量的下标

3、紧接着继续在数组里for循环,逐一跟下标为index的值相比较,如果比下标为index的值大,这时候就将两者中数值大的下标赋值给index。

4、按要求输出。

求数组中的最大值和最小值,一般使用假设法,即假设数组的第1个元素为最大值,同时也是最小值,然后遍历数组,找到最大值和最小值。示例如下:

#include<stdio.h>

int main() 

int a[] = {1,2,3,4,5,6,7,8,9,10}

int max, min

max = min = a[0] //假设第1个元素即是最大值也是最小值。

int max_pos = 0, min_pos = 0

//遍历数组,找出数组a中的最大数和最小数

for (int inx=0 inx!=sizeof(a) / sizeof(int) ++inx) {

if (a[inx]> max) max = a[inx], max_pos=inx

else if (a[inx] < min) min = a[inx], min_pos=inx

}

printf("最大数:%d\t最小数:%d\n", max ,min )

return 0

}

1、apply方式,借用Math中的max/min方法实现。

2、得到输出结果。

3、sort方式:数组从小到大排序,数组第一项就是最小值,最后一项就是最大值 。

4、得到输出的结果。

5、假设当前数组中的第一个值是最大值,然后拿这个值和后面的项逐一进行比较,如果后面某一个值比假设的还要大,说明假设错了,我们把假设的值进行替换,依次类推。

6、首先不要管其他的,先把我们最后要执行的代码都变为字符串,然后把数组中的每一项的值分别的拼接到这个字符串中。

7、得到最终的结果。