c语言最值问题用函数实现 c语言求最值函数

C语言函数最大值问题

getchar 由宏实现:#define getchar() fgetc(stdin)。getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键. getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行. 这个版本忽略了个重点,getch()是非缓冲输入函数,就是不能用getch()来接受缓冲区已存在的字符,如以下C++程序, int i;while(cini);cin.clear();getchar();运行时如果输入1 2 3 a时必须用getchar()才能在后面程序获得正常输入,即使先前已经恢复流了,此处用getch()是万万不行的。 另外补充个函数,getche(),这个函数与前两上类似,功能也相近,都是输入一个字符,返回值同样是输入字符的ASCII码,但不同的是,此函数在输入后立即从控制台取字符,不以回车为结束(带回显)

陵水黎族ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

用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语言 调用函数求最大值问题

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

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啊

}

c语言求随机产生的10个数的最大值(要求用函数实现)

#include stdio.h

#include stdlib.h

#include time.h

int main()

{

int n,i,max;

srand(time(NULL));

max = rand();

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

{

n=rand();

if(nmax)max=n;

}

printf("max=%d\n", max);

return 0;

}

c语言求最大值函数

自定义函数实现

int max(int a,int b)

{

return ab?a:b;

}


当前标题:c语言最值问题用函数实现 c语言求最值函数
链接地址:http://azwzsj.com/article/hhhoch.html