重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
DataType
成都创新互联公司成都企业网站建设服务,提供成都做网站、成都网站建设网站开发,网站定制,建网站,网站搭建,网站设计,响应式网站,网页设计师打造企业风格网站,提供周到的售前咨询和贴心的售后服务。欢迎咨询做网站需要多少钱:028-86922220
Max(DataType
a[],int
n)
//DataType是数据类型
n是元素个数
{
int
i;
Datatype
max=0;
for(i=0;in;i++)
if(a[i]max)
max=a[i];
return
max;
}
//调用的时候把DataType换成相应的数据类型就OK啦、
思路:定义一个函数int fun(int a[]),该函数通过传递的参数数组依次遍历,寻找最大值,最后返回最大值,主函数输入数组,调用该函数输出最大值。
参考代码:
#includestdio.h
#define n 10
int fun(int a[]){//求数组a的最大值函数
int i,max=a[0];
for(i=1;in;i++)
if(maxa[i]) max=a[i];
return max;
}
int main()
{
int a[n],i;
for(i=0;i10;i++)
scanf("%d",a[i]);
printf("数组最大值为%d\n",fun(a));
return 0;
}
/*
1 5 9 7 3 8 6 4 2 0
数组最大值为9
*/
#include "stdio.h"
int main()
{
int x[100],max,min,i,n;
printf("输入整数个数:");
scanf("%d",n);
printf("输入一组正整数:");
scanf("%d",x[0]);
max=0;min=0;
for(i=1;in;i++)
{
scanf("%d",x[i]);
if(x[max]x[i]) max=i;
if(x[min]x[i]) min=i;
}
printf("最大值是%d,下标(从0开始)%d\n最小值是%d,下标(从0开始)%d\n",x[max],max,x[min],min);
}
1、apply方式,借用Math中的max/min方法实现。
2、得到输出结果。
3、sort方式:数组从小到大排序,数组第一项就是最小值,最后一项就是最大值 。
4、得到输出的结果。
5、假设当前数组中的第一个值是最大值,然后拿这个值和后面的项逐一进行比较,如果后面某一个值比假设的还要大,说明假设错了,我们把假设的值进行替换,依次类推。
6、首先不要管其他的,先把我们最后要执行的代码都变为字符串,然后把数组中的每一项的值分别的拼接到这个字符串中。
7、得到最终的结果。
您的程序有多处错误。既然是初学,就先把最基本的东西都弄清楚啊,否则别人都不愿意帮您。简单列出您的错误如下:
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=1;i10;i++)
if(maxva[i])
maxv=a[i];
return(maxv);
}
int main()
{
int i,a[10],maxvalue;
printf("请输入10个数:\n");
for(i=0;i10;i++)
scanf("%d",a[i]);
maxvalue = max(a);//原代码max(a[10],i),a[10]只会传递一个数而不是数组
printf("最大的数是:%d\n",maxvalue);//您别漏了%d啊
}
int max(int d[ ],int n)
{
int max=d[0];
int i;
for(i=0;in;i++)
{
if(maxd[i])
{
max=d[i];
}
}
return max;
}