程序运行情况如下: Please input three numbers:11,22,18 The three numbers are:11,22,18 max=22 本案例中的第1个if语句,可优化为如下不带else子句 的形式: max=numl: if(num2>max)max-num2; 这种优化形式的基本思想是:首先取一个数预置为 max(最大值),然后再用max依次与其余的数逐个比较, 如果发现有比max大的,就用它给max重新赋值,比较完 所有的数后,max中的数就是最大值。这种方法,对从3 个或3个以上的数中找最大值的处理,非常有效。请读者 仔细体会
程序运行情况如下: Please input three numbers:11,22,18↙ The three numbers are:11,22,18 max=22 本案例中的第1个if语句,可优化为如下不带else子句 的形式: max=num1; if(num2>max) max=num2; 这种优化形式的基本思想是:首先取一个数预置为 max(最大值),然后再用max依次与其余的数逐个比较, 如果发现有比max大的,就用它给max重新赋值,比较完 所有的数后,max中的数就是最大值。这种方法,对从3 个或3个以上的数中找最大值的处理,非常有效。请读者 仔细体会
[案例4.2]输入任意三个数numl、num2、num3,按从小到大的顺序 排序输出。 /*案例代码文件名:AL42.C。/ main() (int numl,num2,num3,temp; printf("Please input three numbers:") scanf("%d,%d,%d",&num1,&num2,&num3); if (numl>num2){temp=numl;num1=num2;num2-temp; if (num2>num3)(temp=num2;num2=num3;num3-temp; if (num1>num2)(temp=numl;numl=num2;num2=temp; printf("Three numbers after sorted:%d,%d,%d\n",numl,num2,num3); [程序演示] 程序运行情况如下: Please input three numbers:11,22,18 Three numbers after sorted:11,18.22
[案例4.2]输入任意三个数num1、num2、num3,按从小到大的顺序 排序输出。 /*案例代码文件名:AL4_2.C。*/ main() {int num1,num2,num3,temp; printf("Please input three numbers:"); scanf("%d,%d,%d",&num1,&num2,&num3); if (num1>num2) {temp=num1;num1=num2;num2=temp;} if (num2>num3) {temp=num2;num2=num3;num3=temp;} if (num1>num2) {temp=num1;num1=num2;num2=temp;} printf("Three numbers after sorted: %d,%d,%d\n",num1,num2,num3); } [程序演示] 程序运行情况如下: Please input three numbers:11,22,18↙ Three numbers after sorted: 11,18,22