编写一个c语言程序,输入5个数,求它们中最大值和最小值并输出
#include <stdio.h>
void main( )
{
int i = 0 , num[5], max = 0 , min = 0 ; /* max:用于存放最大值;min:用于存放最小值 */
for( i = 0 ; i < 5 ; i ++ )
scanf("%d", &num[i]) ; /* 循环地将输入的五个数存入 num[5] 数组中 */
for( i = 0 ; i < 5 ; i ++ ) /* 循环地判断数组中的数要是比 max 还大,则将相应的数存入 max 变量中 */
if( num[i] >= max )
max = num[i] ;
for( i = 0; i < 5 ; i ++ ) /* 循环地判断数组中的数要是比 min 还小,则将相应的数存入 min 变量中 */
if( num[i] <= min )
min = num[i] ;
printf("MAX num is :%d\t\t\tMIN num is :%d\n", max, min) ;
}
c语言编程技巧
1、while(--n>=0)与while(n-->0)
在大多数C语言实现中,--n >=0 至少与等效的n-- >0 一样快,大多数情况下前者更快。
主要因为第一个表达式首先从n中减去1然后将结果与0比较;而第二个表达式首先保存n,从n中减去1之后比较保存值与0的大小,这中间多了一个保存的时间,从而前一个表达式更快。
注意:这样的循环中,尽量不使用unsigned类型,否则前者会出现无限循环情况。
2、多重循环处理
对于多重循环,如果可能,应将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。
void main( )
{
int i = 0 , num[5], max = 0 , min = 0 ; /* max:用于存放最大值;min:用于存放最小值 */
for( i = 0 ; i < 5 ; i ++ )
scanf("%d", &num[i]) ; /* 循环地将输入的五个数存入 num[5] 数组中 */
for( i = 0 ; i < 5 ; i ++ ) /* 循环地判断数组中的数要是比 max 还大,则将相应的数存入 max 变量中 */
if( num[i] >= max )
max = num[i] ;
for( i = 0; i < 5 ; i ++ ) /* 循环地判断数组中的数要是比 min 还小,则将相应的数存入 min 变量中 */
if( num[i] <= min )
min = num[i] ;
printf("MAX num is :%d\t\t\tMIN num is :%d\n", max, min) ;
}
我马上重修考试了,我要是会也不至于提问了。。。
循环Getch
第一次Getch时这个数同时放入到Max及Min两个变量中,
后面每次输入的数都与这两个变量值比大小,如果比Max大则Max就替换成当前值,如果比Min小,则Min替成当前值
循环5次结束