c語言最值函數
㈠ c語言中有沒有求最值的函數
沒有,但是可以自定義求最值函數。
㈡ C語言,用函數求最大值的。
C語言,用函數求最大值的步驟如下:
1,首先編輯vc6.0中的代碼,將其另存為.c文件,然後單擊構建按鈕(或按鍵盤F7快捷鍵)。
㈢ C語言求最大值
//修改如下
#include <stdio.h>
#include <stdlib.h>
void main()
{
float averMaxMin(int a[],int n,int *pmax, int *pmin);
int i,n,a[100],*pmax,*pmin;
printf("請輸入需要比較的數的個數:");
scanf("%d",&n);
printf("請輸入需要比較的數:");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
pmax=(int *)malloc(sizeof(int));//分配內存,我幫你改了這里
pmin=(int *)malloc(sizeof(int));
//多餘的averMaxMin(a,n,pmax,pmin);
printf("平均值是%f\n",averMaxMin(a,n,pmax,pmin));
printf("最大值為%d,最小值為%d\n",*pmax,*pmin);
}
float averMaxMin(int a[],int n,int *pmax, int *pmin)
{
int i;
float aver,sum=0.0;
*pmax=*pmin=a[0];
for(i=0;i<n;i++)
{
sum+=a[i];
if(a[i]>*pmax)//這里也修改了,應該讓*pmax=a[i],這里才能改變地址的內容
*pmax=a[i];
if(a[i]<*pmin)
*pmin=a[i];
}
aver=sum/n;
return (aver);
}
㈣ c語言求最大值函數
自定義函數實現
int max(int a,int b)
{
return a>b?a:b;
}
㈤ c語言用函數求出最大值
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,a,max,i;
scanf("%d",&n);
scanf("%d",&max);
for(i=1;i<n;i++)
{
scanf("%d",&a);
if(a>max)max=a;
}
printf("%d",max);
return 0;
}
㈥ 用C語言編寫一個求兩個數最大值的函數,在主函數輸入3個整數,調用該函數輸出其中最大值
intmax(inta,intb)
{returna>b?a:b;}
intmain()
{
inta,b,c;
scanf("%d%d",&a,&b,&c);
printf("%d ",max(max(a,b),c));
return0;
}
㈦ c語言編程題 編寫求一組數據中最大值的函數,函數原型為:int find_max (int*p,int n)。
#include <stdio.h>
#define N 10
int find_max(int *p, int n);
int main(void)
{
int a[N] = {1, 87, 0, 2, 6, 90, -30, 34, 109, 1000};
printf("最大值為%d ", find_max(a, N));
return 0;
}
int find_max(int *p, int n)
{
int max = p[0], i = 1;
for(i = 1; i < n; i++)
{
if(max < p[i])
max = p[i];
else
continue;
}
return max;
}
㈧ 用C語言編程求數組中最大數的函數
#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;i<n;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);
}
㈨ 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;i<10;i++)
if(maxv<a[i])
maxv=a[i];
return(maxv);
}
int main()
{
int i,a[10],maxvalue;
printf("請輸入10個數:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
maxvalue = max(a);//原代碼max(a[10],i),a[10]只會傳遞一個數而不是數組
printf("最大的數是:%d\n",maxvalue);//您別漏了%d啊
}
㈩ C語言,利用函數求10個數的最大值(函數參數為含有10個數的數組,返回值為最大值)
#include"stdio.h"
voidInput_Max_Min(int*p,int*pl,int*ps){
inti;
printf("Pleaseenterthe10Numbers... ");
for(*pl=*ps=i=0;i<10;i++){//輸入10個整數並判斷大小
scanf("%d",p+i);
if(p[i]<p[*ps])//
*ps=i;
if(p[i]>p[*pl])//
*pl=i;
}
}
intmain(intargc,char*argv[]){
intm[10],ml,ms;
Input_Max_Min(m,&ml,&ms);//用數組首址和最大值及最小值位置記錄變數地址調用自定義函數
printf("TheMAXism[%d]==%d TheMINism[%d]==%d ",ml,m[ml],ms,m[ms]);//輸出結果
return0;
}
(10)c語言最值函數擴展閱讀
c語言函數求兩個數的最大值
聲明一個求兩個數最大值的函數
if(a>b){
printf("最大值是%d",a);
}else{
printf("最大值是%d",b);
}
#include<stdio.h>
max(inta,intb){
//三木運算來求出最大值
intz=a>b?a:b;
printf("最大值是%d",z);
}
main(){
intx,y;
scanf("%d%d",&x,&y);
//調用max函數
max(x,y);
}