發布時間:2011-09-16 共7頁
求最值
1. 請補全main函數,該函數的功能是:從鍵盤上輸入3個整數,然后找出最大的數并輸出。
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。 此時,max中存放的就是前兩個數中較大的,再將max與c比較。 2. 函數fun的功能是:從三個形參a,b,c中找出中間的那個數,作為函數值返回。 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 解析:條件表達式的理解。 3. 請補全fun函數,該函數的功能是把從鍵盤輸入的3個整數按從小到大輸出。 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個數排序,兩兩比較,小的放前,大者放后。 交換。