5个数求最大值 c语言用if语句怎么求?

Python019

5个数求最大值 c语言用if语句怎么求?,第1张

#include <stdio.h>

int main()

{

int a1,a2,a3,a4,a5,max

printf("输入5个数的值: ")

scanf("%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5)

max=a1

if(max<a2)

max=a2

if(max<a3)

max=a3

if(max<a4)

max=a4

if(max<a5)

max=a5

printf("5个数中的最大值为: %d\n",max)

return 0

}

示例运行结果:

输入5个数的值: 12 36 5 88 64

5个数中的最大值为: 88

/*

输入三个整数(空格隔开) : 18 16 32

32

Press any key to continue

*/

#include <stdio.h>

int main() {

int a,b,c,max

printf("输入三个整数(空格隔开) : ")

scanf("%d%d%d",&a,&b,&c)

if(a > b) max = a

else max = b

if(max > c) printf("%d\n",max)

else printf("%d\n",c)

return 0

}

您的程序有多处错误。既然是初学,就先把最基本的东西都弄清楚啊,否则别人都不愿意帮您。简单列出您的错误如下:

1)在max函数内又声明了a[10],这和传递给max函数的参数同名。

2)在max函数内声明了一个变量max,这与max函数又是同名,虽然不一定会出错,但需要尽量避免啊。

3)int max(int a[], int i)是正确的写法,不必写int a[10]。

4)在主函数main中的max(a[10],i)就是错误的写法了,把数组传递给函数时,只能写数组名a,不能写a[10],a[10]只代表了数组中的一个元素。

5)printf中的那个max,属于未声明就使用的变量,而且又与函数max同名。

给个修改后的程序,您自己对照吧。

6)printf函数没指定最大值的输出位置与格式。

#include "stdafx.h"

#include "stdio.h"

int max(int a[])//原代码中将i传递进来,毫无必要

{

int maxv=a[0]//原代码取max,与函数同名,要避免

int i

for(i=1i<10i++)

if(maxv<a[i])

maxv=a[i]

return(maxv)

}

int main()

{

int i,a[10],maxvalue

printf("请输入10个数:\n")

for(i=0i<10i++)

scanf("%d",&a[i])

maxvalue = max(a)//原代码max(a[10],i),a[10]只会传递一个数而不是数组

printf("最大的数是:%d\n",maxvalue)//您别漏了%d啊

}