下面是例3-5的源程序:
main()
{
inta,b,c,min;
printf("inputa,b,c:");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
min=a;
else
min=b;
if(c<min)
min=c;
printf("Theresultis%d\n",min);
}
執(zhí)行情況如下:
RUN
inputa,b,c:3 5 2
Theresultis:2
這里順便提一下程序書寫的縮排問題,所謂縮排,就是下一行與上一行相比,行首向右縮進若字符,如上例的min=a、min=b等。適當?shù)目s排能使程序的結(jié)構(gòu)、層次清晰、一目了然,增加程序的易讀性。應(yīng)該從一開始就養(yǎng)成一個比較好的書寫習慣,包括必要的注釋、適當?shù)目招幸约翱s排。
2.復(fù)合語句
if語句中,有時需要執(zhí)行的語句不止一條,這就要用到復(fù)合語句。
復(fù)合語句,就是用一對花括號括起來的一條或多條語句,形式如下:
{
語句1;
語句2;
.......
語句n;
}
無論包括多少條語句,復(fù)合語句從邏輯上講,被看成是一條語句。
復(fù)合語句在分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)中,使用十分廣泛。
[例3-6]讀入兩個數(shù)x、y,將大數(shù)存入x,小數(shù)存入y。
分析:x、y從鍵盤讀入,若x>=y,只需順序打出,否則,應(yīng)將x,y中的數(shù)進行交換,然后輸出。兩數(shù)交換必須使用一個中間變量t,定義三個浮點數(shù)x、y、t。
算法:
1)讀入x、y;
2)大數(shù)存入x,小數(shù)存入y;
3)輸出x、y。
第2)步求精:
若x<y,則交換x與y;
再求精,x與y交換;
①t<==x
②x<==y
③y<==t
算法的流程圖見圖3-3,程序如下:
#include<stdio.h>
main()
{
floatx,y,t;
printf("inputx,y:");
scanf("%f%f",&x,&y);
if(x<y)
{
t=x;
x=y;
y=t;
}
printf("result:%7.3f\t%7.3f\n",x,y);
}
執(zhí)行結(jié)果:
inputx,y:43.256.7
result:56.70043.200
3.if...elseif語句
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |