發(fā)布時(shí)間:2011-09-16 共7頁(yè)
求最值
1. 請(qǐng)補(bǔ)全main函數(shù),該函數(shù)的功能是:從鍵盤上輸入3個(gè)整數(shù),然后找出最大的數(shù)并輸出。
main()
{int a,b,c,max;
clrscr();
printf("\nInput three numbers:\n");
scanf("%d,%d,%d",&a,&b,&c);
printf("Thethree numbers are:%d,%d,%d\n",a,b,c);
if (a>b)
___1___;
else
___2___;
if(max ___3___; printf("max=%d\n",max); } 第一處:max=a 第二處:max=b 第三處:max=c 解析: 若a>b 則a較大,將其放入max中;否則將b存于max。 此時(shí),max中存放的就是前兩個(gè)數(shù)中較大的,再將max與c比較。 2. 函數(shù)fun的功能是:從三個(gè)形參a,b,c中找出中間的那個(gè)數(shù),作為函數(shù)值返回。 int fun(int a, int b, int c) {int t; t = (a>b) ? (b>c? b :(a>c?c:___1___)) : ((a>c)?___2___ : ((b>c)?c:___3___)); return t; } 第一處:a 第二處:a 第三處:b 解析:條件表達(dá)式的理解。 3. 請(qǐng)補(bǔ)全fun函數(shù),該函數(shù)的功能是把從鍵盤輸入的3個(gè)整數(shù)按從小到大輸出。 main() {int x,y,z,t; clrscr(); printf("Input x,y,z\n"); scanf("%d%d%d",&x,&y,&z); if (___1___) { t=x; x=y; y=t; } /*交換x,y的值*/ if(___2___) { t=z; z=x; x=t; } /*交換x,z的值*/ if(___3___) { t=y; y=z; z=t; } /*交換z,y的值*/ 第一處:x>y 第二處:x>z 第三處:y>z 解析: 3個(gè)數(shù)排序,兩兩比較,小的放前,大者放后。 交換。