1. 程式人生 > >使用if/else方式的三個數找最大

使用if/else方式的三個數找最大

//三個數找最大
//應用if else
//程式設計環境:vs2012
//這個版本是不帶輸入的,把資料寫在了程式裡
#include<stdio.h>




int main()
{
	


//首先是if else的應用
	int a=2;


	//----------------------------
	//下面的程式程式碼,版本原因報錯
	int q =10;
	int w =16;
	int e =14;
	int max;
	//----------------------------


	if(a>1)//if成立的情況
	{
		printf("1\n");
	}
	else
	{
		printf("0\n");
	}


	if(a>3)//if不成立的情況
	{
		printf("1\n");
	}
	else
	{
		printf("0\n");
	}
//對於表示式(就是類似於“a>1”這樣的)它執行返回的是一個結果,非0為真,0為假,最後只會返回0和1兩個結果之一






//以上部分沒太大用處,下面正式開始三個數找最大的程式
//--------------------------------------------------


	/*int q =10;
	int w =16;
	int e =14;
	//未初始化(沒有賦過值)的變數不能有“讀”操作
	int max;
	//在這裡經常會出一個錯誤:The variable ‘max’ is being used without being initialized.
	*/
	//由於版本原因,這裡宣告變數會報錯,	
	//這裡有一個坑, 宣告變數的時候,一行只宣告一個變數,多個變數不是很方便後期檢視
	if(q>w)
	{			//雖然語句只有一條,但應該養成加括號的習慣,讓可讀性更好
		max = q;
	}
	else
	{
		max = w;
	}


	if(max>e)
	{
		printf("%d\n",max);	
	}
	else
	{
		printf("%d\n",e);
	}


}

    三個數比較大小,核心是兩兩比較,把稍微大的三個數比較大小的問題進行拆分,化為兩兩比較!

    知識點:

    1.0為假,非0為真,’真‘的值理解為1

    2.a>1是有值的,結果是真(因為a=2),輸出其結果可得1

    3.宣告變數要養成好一行一變數的習慣,一目瞭然

    4.常犯錯誤:The variable ‘max’ is being used without being initialized.這是因為變數未初始化就進行了‘讀’操作

    5.sum=sum+1(假設sum已經初始化)和sum=max+1(假設max未初始化),可以根據這個例子來理解(先讀取)