C程序:找N个数中最大值

C程序:找N个数中最大值,第1张

第一个错误for(i=1i<=ni++) scanf("%d",&b[i])C语言的下标是从0到n-1的,这里错了 应禅野该是

for(i=0i<ni++) scanf("%d",&b[i])

第二个错误

int A(int a,int b[])

这个函数你想实现什么功能?嵌套返回最大值吗?

如果不是有要求必须采用嵌套 建议这样做

int A(int a,int b[]) //输入a:答袭族 数组容量;输入b:数组序列

{

int j, max_pos = 0

MAX = b[0]

for(j = 1j <aj ++)

if(b[j] >MAX) MAX= b[j], max_pos = j

return max_pos

}

如果清弊一定要嵌套的话 可以这样做

int A(int a, int b[])//输入a: 数组容量;输入b:数组序列

{

int max_pos

if(a == 1) {MAX = b[0]return 0}

max_pos = A(a - 1, b)

if(MAX <b[a - 1]) {MAX = b[a - 1]max_pos = a - 1}

return max_pos

}

最后一个问题是打印

由于是通过全局变量传递max值 所以要这样做

i = A(n, b)

printf("%d %d",i,MAX)

不然会出现打印max的时候 A(n,b)还没有执行的情况

找最大的值数清

max=0

for(int i=0i<ni++) if(max<a[i]) max=a[i] printf("%d"薯孝前,max)

找最小的慎颂值

min=100

for(int i=0i<ni++) if(min>a[i]) min=a[i] printf("%d",min)

找某个值

scanf("%d",&value)

for(int i=0i<ni++) if(a[i]==value) {printf("%d",i)break}

下面一旁冲粗个 随机产生20个整数的判州数组,查找出大最值,如下代码:

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main() 

{

int numbers[20], max, i

srand((unsigned int)time(NULL))

for (i = 0 i < 20 i++) {

numbers[i] = rand() % 100

}

max = numbers[0]

for (i = 1 i < 20 i++) {

if (numbers[i] > max) {

max = numbers[i]

}

}

printf("运镇最大值为%d\n", max)

system("pause")

return 0

}

运行结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12236148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存