else if指令

Download Report

Transcript else if指令

3-1-2 單一條件選擇敘述
01010
10101
01010
01010
10101
01010
01010
10101
01010
判斷成績給予等第
No
if (輸入的成績>=90分)
printf(“成績為A”);
if (輸入的成績>=80分)
printf("成績為B");
if (輸入的成績>=70分)
printf("成績為C");
if (輸入的成績>=60分)
printf(“成績為D”);
想想!條件
else
對嗎?
printf(“不及格");
輸入75分,會
印出什麼?
No
No
程式範例-判斷成績給予等第
if (輸入的成績>=90分)
printf(“成績為A”);
if (輸入的成績>=80分 && 輸入的成績<90分 )
printf("成績為B");
if (輸入的成績>=70分 && 輸入的成績<80分 )
printf("成績為C");
if (輸入的成績>=60分 && 輸入的成績<70分 )
printf("成績為D");
else
printf(“不及格");
No
No
No
程式語法-多重if 敘述
if (判斷條件1)
敘述1;
else if (判斷條件2)
敘述2;
else if (判斷條件3)
敘述3;
else
敘述4;
程式範例-判斷成績給予等第
if (輸入的成績>=90分)
printf(“成績為A”);
else if (輸入的成績>=80分)
printf("成績為B");
else if (輸入的成績>=70分)
printf("成績為C");
else if (輸入的成績>=60分)
printf("成績為D");
else
printf(“不及格");
下一行程式
程式範例-判斷成績給予等第
if (score>=90)
printf("%d is A\n",score);
else if (score>=80)
printf("%d is B\n",score);
else if (score>=70)
printf("%d is C\n",score);
else if (score>=60)
printf("%d is D\n",score);
else
printf("Failed!!\n");
if , elseif 效能比較
分數
if 需執行之條件 elseif 需執行之
判斷次數
條件判斷次數
分數>=90
90>分數>=80
80>分數>=70
70>分數>=60
7
7
7
7
1
2
3
4
分數<60
7
5
由鍵盤上所輸入任意鍵,使用字元來判斷該字元是數字、大
寫字元、小寫字元或是控制字元
char x;
printf("請按下鍵盤任意鍵:");
scanf("%c",&x);
x>=48 && x<=57
if(__________________)
printf("數字\n");
x>=65 && x<=90
else if(__________________)
printf("大寫字母\n");
x>=97 && x<=122
else if(___________________)
printf("小寫字母\n");
else
printf("其他字元\n");
試撰寫一程式,輸入三個整數值,將三個整數由大至小輸出
,並算出平均值
int num1,num2,num3;
float ave;
num1=num2=num3=0;
printf("請輸入任意3整數,並以空格區隔輸入");
scanf("%d %d %d",&num1,&num2,&num3);
____問題1______ //請用if選擇完成此程式區塊
3
ave = (num1+num2+num3)/ _____;
ave
printf("三數的平均值為%3.1f“,_______);
if(num1>=num2 && num2>=num3)
printf(“數字由大到小排列為%d,%d,%d”,num1,num2,num3);
else if (num1>=num3 && num3>=num2)
printf(“數字由大到小排列為%d,%d,%d”,num1,num3,num2);
else if (num2>=num1 && num1>=num3)
printf(“數字由大到小排列為%d,%d,%d”,num2,num1,num3);
else if (num2>=num3 && num3>=num1)
printf(“數字由大到小排列為%d,%d,%d”,num2,num3,num1);
else if (num3>=num1 && num1>=num2)
printf(“數字由大到小排列為%d,%d,%d”,num3,num1,num2);
else
printf(“數字由大到小排列為%d,%d,%d”,num3,num2,num1);