『壹』 c語言三個數求最大
max函數里的if(x>y>z)那樣寫編譯器是不會檢查出錯誤,但不能實現你要的「求三個數的最大者」,c里的x>y>z跟數學里的x>y>z意思是不一樣的。。如假設:x=3,y=2,z=1;c里的if(x>y>z)是從左到右先判斷第一個「>」,即判斷x>y,因為x=3,y=2,所以x>y為真,x>y的值1,那麼x>y>z中第二個「>」號就變成判斷1>z,z=1,所以1>z就為假,雖然3>2>1,但if(x>y>z)還是為假。。。
max函數可以這樣寫,方法不唯一,能理解就可以:
int
max(int
x,int
y,int
z)
{
int
max;
max=x>y?x:y;
max=max>z?max:z;
return
max;
}
『貳』 C語言3個數求最大值怎麼寫啊!!!我搞了半天都不行!
參考代碼
#include <stdio.h>
int main(void) {
int a,b,c;
scanf("%d %d %d",&a,&b,&c);// 輸入3個數
int max = a;//默認最大值為a
//選出a,b中的最大值
if(max<b)
max = b;
//將前兩個中最大值與c比較,得出真正的最大值
if(max < c)
max = c;
printf("%d",max);//輸出最大值
return 0;
}
運行截圖
『叄』 c語言求三個數最大值
不常規方法:用函數指針變數調用函數
#include<stdio.h>
int max(int x,int y)
{
return (x>y?x:y);
}
main()
{
int (*p)(int,int); //定義p是指向函數的指針變數
int a,b,c,d;
p=max;//使p指向函數max
printf("輸入3個數\n");
scanf("%d %d %d",&a,&b,&c);
d=(*p)(a,b);//通過指針變數p調用max函數
printf("max=%d\n",(*p)(d,c));
}
方法一:交換兩個數
#include "stdio.h"
int main()
{ int a,b,c,t;
printf("輸入3個數\n");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("max=%d\n",c);
printf("%d %d %d",a,b,c);
}
方法2條件表達式,書上例題,
#include "stdio.h"
int main()
{
int max();//函數聲明
extern int A,B,C; //外部變數聲明
printf("輸入3個數\n");
scanf("%d %d %d",&A,&B,&C);//輸入外部變數的值
printf("max is %d\n",max());
}
int A,B,C;//定義外部變數
int max()
{
int m;
m=A>B?A:B;
if(C>m)
m=C;
return m;
}
以上可以改為
#include<stdio.h>
main()
{
int a,b,c;
printf("輸入3個數\n");
scanf("%d %d %d",&a,&b,&c);
if(c>(a>b?a:b))
printf("max=%d\n",c);
else
printf("max=%d\n",a>b?a:b);
}
3 定義max函數
#include<stdio.h>
int max(int x,int y)
{
if (x>y) //或者直接語句return (x>y?x:y);
return x;
return y;
}
main()
{
int a,b,c,d;
printf("輸入3個數\n");
scanf("%d %d %d",&a,&b,&c);
d=max(max(a,b),c);
printf("max=%d\n",d);
}
『肆』 怎麼用C語言編寫一個程序,輸入三個數值,然後輸出其中最大者
#include <stdio.h>
int main()
{
int a,b,c;//定義三個整形變數用來存儲那從鍵盤輸出的三個數
printf("請輸入3個數:");//提示語
scanf("%d %d %d",&a,&b,&c);//從鍵盤輸出三個數到a,b,c中
int max;
//下面是最簡單的if循環求出這三個數最大值存入max中
if(a>b)
{
if(a>c)
{
max=a;
}
else
{
max=c;
}
}
else
{
if(b>c)
{
max=b;
}
else
{
max=c;
}
}
printf("這三個數的最大數為: %d\n",max);
return 0;
}
『伍』 怎麼用C語言編寫一個程序,輸入三個數值,然後輸出其中最大者。
用if可以這么寫:
#include<stdio.h>
intmain(void)
{
inta,b,c,_max;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
if(a>c)
_max=a;
else
_max=c;
}
elseif(a<=b)
{
if(b>c)
_max=b;
else
_max=c;
}
printf("Max:%d ",_max);
return0;
}
用qsort函數可以快速排序,演算法如下:
#include<stdio.h>
#include<stdlib.h>
intcmp(constvoid*a,constvoid*b)
{
return(*(int*)a-*(int*)b);
}
intmain(void)
{
inta[4];
for(inti=0;i<3;i++)
scanf("%d",&a[i]);
qsort(a,3,sizeof(a[0]),cmp);
printf("Max:%d",a[2]);
return0;
}
還有更多的方法就不說了。。
『陸』 編寫一個C程序,運行時輸入a,b,c三個值,輸出其中值最大者
#include<stdio.h>
int main()
{
int a,b,c,max;
printf("請輸入三個數: ");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
max=a;
if(c>max)
max = c;
printf("三個數中最大的數為:%d",max);
return 0;
}
(6)c語言運行三個值的最大者擴展閱讀:
主要特點:
1,簡潔的語言
C語言包含有各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且多以小寫字母為主,對許多不必要的部分進行了精簡。
2,具有結構化的控制語句
C語言是一種結構化的語言,提供的控制語句具有結構化特徵,如for語句、if⋯else語句和switch語句等。可以用於實現函數的邏輯控制,方便麵向過程的程序設計。
3,豐富的數據類型
C語言包含的數據類型廣泛,不僅包含有傳統的字元型、整型、浮點型、數組類型等數據類型,還具有其他編程語言所不具備的數據類型,其中以指針類型數據使用最為靈活,可以通過編程對各種數據結構進行計算。
4,豐富的運算符
c語言包含34個運算符,它將賦值、括弧等均視作運算符來操作,使C程序的表達式類型和運算符類型均非常豐富。
5,可對物理地址進行直接操作
C語言允許對硬體內存地址進行直接讀寫,以此可以實現匯編語言的主要功能,並可直接操作硬體。
6,代碼具有較好的可移植性
c語言是面向過程的編程語言,用戶只需要關注所被解決問題的本身,而不需要花費過多的精力去了解相關硬體,且針對不同的硬體環境。
7,可生成的高質量目標代碼,高執行效率的程序
與其他高級語言相比,C語言可以生成高質量和高效率的目標代碼,故通常應用於對代碼質量和執行效率要求較高的嵌入式系統程序的編寫。
『柒』 怎麼用C語言編寫一個程序,輸入三個數值,然後輸出其中最大者。
#include
int
main()
{
int
a,b,c;//定義三個整形變數用來存儲那從鍵盤輸出的三個數
printf("請輸入3個數:");//提示語
scanf("%d
%d
%d",&a,&b,&c);//從鍵盤輸出三個數到a,b,c中
int
max;
//下面是最簡單的if循環求出這三個數最大值存入max中
if(a>b)
{
if(a>c)
{
max=a;
}
else
{
max=c;
}
}
else
{
if(b>c)
{
max=b;
}
else
{
max=c;
}
}
printf("這三個數的最大數為:
%d\n",max);
return
0;
}
『捌』 c語言,三個數輸出最大值
#include <stdio.h>
#define max(a,b) (a>b?a:b)
int main(){
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%d ",max(max(a,b),c));
return 0;
}
(8)c語言運行三個值的最大者擴展閱讀:
JAVA得到數組中最大值和最小值的簡單實例
public class TestJava4_3
{
public static void main(String args[])
{
int i,min,max;
int A[]={74,48,30,17,62}; // 聲明整數數組A,並賦初值
min=max=A[0];
System.out.print("數組A的元素包括:");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
if(A[i]>max) // 判斷最大值
max=A[i];
if(A[i]<min) // 判斷最小值
min=A[i];
}
System.out.println(" 數組的最大值是:"+max); // 輸出最大值
System.out.println("數組的最小值是:"+min); // 輸出最小值
}
}
該程序輸出結果:
數組A的元素包括:74 48 30 17 62
數組的最大值是:74
數組的最小值是:17