正在加载图片...
第1章绪论 (2)求3个整数中的最小整数的函数 可将上面求最大整数的函数稍做修改,“>”改为“<”,可得求最小整数函数 【方案1】 if(b<m)m=b 【方案2】(此程序可修改循环终止变量扩大到n个整数) nt data[ 3]=(a, b,c; 开始时假定data0最小 for(inti=1;i<3;计++) ∥与其他整数逐个比较 if( data[[ <data[m]) /m记录新的最小者 (3)求3个整数中具有中间值的整数 可将上面求最大整数的函数稍做修改,“>”改为“<”,可得求最小整数函数。 【方案1】 int min( int a, int b, intc)i l=b;} if( else if (c<m2)(m2=c; 【方案2】(此程序可修改循环终止变量扩大到n个整数寻求次小元素) 3]={a2b,c}; int ml =0, m2=-1: /ml指示最小整数,m2指示次小整数 ∥与其他整数逐个比较 if(data<daam1){m2=ml;ml=i;}∥原来最小变为次小,ml指示新的最小 esei(m2=-1| data< data[m2])m2=i;mm2记录新的次小者第 1 章 绪论 8 (2) 求 3 个整数中的最小整数的函数 可将上面求最大整数的函数稍做修改,“>”改为“<”,可得求最小整数函数。 【方案 1】 int min ( int a, int b, int c ) { int m = a; if ( b < m ) m = b; if ( c < m ) m = c; return m; } 【方案 2】(此程序可修改循环终止变量扩大到 n 个整数) int max ( int a, int b, int c ) { int data[3] = { a, b, c }; int m = 0; //开始时假定 data[0]最小 for ( int i = 1; i < 3; i++ ) //与其他整数逐个比较 if ( data[i] < data[m] ) m = i; //m 记录新的最小者 return data[m]; } (3) 求 3 个整数中具有中间值的整数 可将上面求最大整数的函数稍做修改,“>”改为“<”,可得求最小整数函数。 【方案 1】 int min ( int a, int b, int c ) { int m1 = a, m2; if ( b < m1 ) { m2 = m1; m1 = b; } else m2 = b; if ( c < m1 ) { m2 = m1; m1 = c; } else if ( c < m2 ) { m2 = c; } return m2; } 【方案 2】(此程序可修改循环终止变量扩大到 n 个整数寻求次小元素) int mid ( int a, int b, int c ) { int data[3] = { a, b, c }; int m1 = 0, m2 = -1; //m1 指示最小整数, m2 指示次小整数 for ( int i = 1; i < 3; i++ ) //与其他整数逐个比较 if ( data[i] < data[m1] ) { m2 = m1; m1 = i; } //原来最小变为次小, m1 指示新的最小 else if ( m2 == -1 || data[i] < data[m2] ) m2 = i; //m2 记录新的次小者 return data[m2]; }
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有