c语言求n个数最大值函数,C语言十个数求最大值

,输入n个数,求其中的最大值, C语言循环结构

利用C语言在一批数中找最大数的一般方法如下:

为龙泉驿等地区用户提供了全套网页设计制作服务,及龙泉驿网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、龙泉驿网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

(1)将数据存入一个一维数组中,例如存入a数组中。

(2)在数组中找最大值(假设用变量max存放最大值)。首先将a[0]视为最大数,即首先使max=a[0]。将除a[0]之外的其他所有元素(用a[i]表示)逐个与max比较,若a[i]max,则a[i]为目前的最大数,使max=a[i]。在所有元素比较完之后,max即为最大数。

(3)输出最大数(max的值)。

这个问题涉及C语言for循环嵌套和一维数组内容,以6个数为例,具体程序如下:

#includestdio.h

int main(void)

{

int a[6],i,max;

for(i=0;i6;i++)                       //将6个数输入a数组

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

max=a[0];                               //首先将a[0]视为最大数,将a[0]存入max

for(i=1;i6;i++)                       //将其余5个数与max比较,大者存入max

if(a[i]max)   max=a[i];

printf("max=%d\n",max);         //输出最大值

return 0;

}

程序运行结果:

10  2  14  6  5  11

max=14

扩展资料:

一维数组是最简单的数组,其逻辑结构是线性表。要使用一维数组,需经过定义、初始化和应用等过程。

数组声明:

(1)在数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。

(2)数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。

利用new运算符为数组元素分配内存空间的方式称为动态分配方式。

举例:

int[]x; //声明名称为x的int型数组

x=new int[10]; //x数组中包含有10个元素,并为这10个元素分配内存空间

在声明数组时,也可以将两个语句合并成一行,格式如下:

数据类型[]数组名= new 数据类型[个数];

利用这种格式在声明数组的同时,也分配一块内存供数组使用。如上面的例子可以写成:

int[]x = new int [10];

等号左边的int[]x相当于定义了一个特殊的变量x,x的数据类型是一个对int型数组对象的引用,x就是一个数组的引用变量,其引用的数组元素个数不定。

等号右边的new int[10]就是在堆内存中创建一个具有10个int型变量的数组对象。int[]x = new int [10];就是将右边的数组对象赋值给左边的数组引用变量。

参考资料:数组_百度百科

求c语言程序:用一个函数求N个数的最大值和最小值。。。

#includestdio.h

int max(int n)

{int i,x,f;

scanf("%d",f);

for(i=1;in;i++)

{scanf("%d",x);

if(xf)f=x;

}

return f;

}

int main()

{int n;

printf("有几个数:");

scanf("%d",n);

printf("其中最大的数是:%d\n",max(n));

return 0;

}

#includestdio.h

int min;

int maxmin(int n)

{int i,x,f;

scanf("%d",f);

min=f;

for(i=1;in;i++)

{scanf("%d",x);

if(xf)f=x;

else if(xmin)min=x;

}

return f;

}

int main()

{int n,mm;

printf("有几个数:");

scanf("%d",n);

mm=maxmin(n);

printf("其中最大的数是:%d\n最小的数是:%d\n",mm,min);

return 0;

}

用C语言编写一个程序,求n个数中的最大值和最小值,要求用函数完成。

思路:首先设置最大最小的值都是数组第一个数,然后遍历数组,出现比当前最大值大的,修改最大值为这个数。出现比最小值小的,修改最小值为这个数。

代码

#include stdio.h

//为了方便返回,使用结构体存储最大值和最小值

typedef struct {

int Max;

int Min;

}MaxMin;      

//函数参数array:数组,length:数组长度。

//这里其实可以把最大值最小值作为指针传进去的。  

MaxMin GetMaxMin(int *array, int length)

{

int i;

MaxMin maxMin;

if (length = 0)

return maxMin;

//初始化最大值和最小值为数组第一个数

maxMin.Max = array[0];

maxMin.Min = array[0];

for (i = 0; i  length; i++) {

if (array[i] = maxMin.Max)        

maxMin.Max = array[i];        //比当前最大值大,修改最大值

if (array[i] = maxMin.Min)

maxMin.Min = array[i];        //比当前最小值小,修改最小值

}

return maxMin;

}

//主函数测试

int main() {

int length;

int i;

int *array;

printf("input length of array:");

scanf("%d", length);

array = (int *)malloc(sizeof(int)*length);

for (i = 0; i  length; i++) {

printf("input data of array(index %d):", i + 1);

scanf("%d", array + i);

}

MaxMin maxMin = GetMaxMin(array, length);

printf("Max:%d,Min:%d", maxMin.Max, maxMin.Min);

return 0;

}

3. 运行结果

c语言中,用自定义函数求n个数中的最大值,是一次输入n个数喔!麻烦各位了

//随手写的,算法可能不是最佳

#include stdio.h

#include stdlib.h

#include "string.h"

int* num;

char s[100]={"\0"};

void get_max(int len)

{

int max=num[0];

int i;

for(i=1;ilen;i++)

{

if(maxnum[i])

{

max=num[i];

}

}

printf("\n最大数为:%d",max);

}

void char2num()

{

int n=0;

char c[10]={"\0"};

int i;

int j=0;

s[strlen(s)]=',';

for(i=0;istrlen(s);i++)

{

if(s[i]==',')

{

n++;

}

}

num=(int*)malloc(sizeof(int)*n);   //动态定义int数组

int n_pos=0;

for(i=0;istrlen(s);i++)

{

if(s[i]==' ')

{

continue;

}

if(s[i]!=',')

{

c[j++]=s[i];

}

else

{

num[n_pos++]=atoi(c);

j=0;

memset(c,'\0',10);

continue;

}

}

get_max(n_pos);     //寻找最大数 

}

int main(int argc, char *argv[]) {

printf("请输入n个数(用逗号分隔):");

scanf("%s",s);      //初始输入的数据接收为字符数组 

char2num();         //把字符数组转化为int数组 

return 0;

}

跪求c语言编程:输入N个数,求最大值!

求最大值:

#includestdio.h

void main()

{

int n,max,min,a,i;

printf("请输入N的值:");

scanf("%d",n);

for(i=1;i=n;i++)

{

printf("请输入一个数:");

scanf("%d",a);

if(i==1)

{

max=min=a;

}

if(i!=1maxa)

max=a;

if(i!=1mina)

min=a;

}

printf("这%d个数中最大值是",n,max);

}

求阶乘:

#include "stdio.h"

void main()

{

int fun(int x);

float jc(int x);

int n,i;

float k;

printf("type in the n!\n");

scanf("%d",n);

i=fun (n);

k=jc (n);

printf("%d! is %10.0f\nthere are %d zero!\n",n,k,i);

}

int fun(int x)

{

int i=0;

while(x!=0)

{

x=x/5;

i+=x;

}

return (i);

}

float jc(int x)

{

float i;

if (x==0||x==1)

i=1;

else

i=jc(x-1)*x;

return (i);

}

C语言,求n个数得的最大值,最小值,平均值,用函数,不要用数组

#include "stdio.h"

struct number

{

float value;//值

struct number *next;//指向后继

};

struct number *head = NULL;//头指针

struct number *p1;//活动指针

struct number *p2;//尾指针

float max,min,sum,count;//最大值、最小值、和、数量

//输入数值

void input()

{

for(;;)

{

//申请内存空间并赋值

p1 = (struct number*)malloc(sizeof(struct number));

scanf("%f",p1-value);

p1-next = NULL;

//判断是否等于-1

if(p1-value == -1)

{

free(p1);

return;

}

//判断头指针是否为空

if(head == NULL)

head = p1;

else

p2-next = p1;

p2 = p1;

}

}

//求最大值、最小值、和、数量

void maxMin()

{

//初始化三个值

p1 = head;

max = min = p1-value;

sum = count = 0;

while(p1 != NULL)

{

//找最大值

if(p1-value  max)

max = p1-value;

//找最小值

if(p1-value  min)

min = p1-value;

sum += p1-value;//求和

count++;//数量

p1 = p1-next;

}

}

//输出所有值

void print()

{

p1 = head;

while(p1 != NULL)

{

printf("%g ",p1-value);

p1 = p1-next;

}

printf("\n");

}

int main()

{

printf("请连续输入n个整数,输入-1结束\n");

input();

printf("**************\n");

maxMin();

printf("最大值 = %g\n",max);

printf("最小值 = %g\n",min);

printf("平均值 = %g\n",sum/count);

}


当前名称:c语言求n个数最大值函数,C语言十个数求最大值
当前网址:http://ybzwz.com/article/hesijg.html