[size=large][b]由于要考试,有C的考核内容。所以今天把C拉出来又看了下,其实基本没什么难度,除了写面向对象许久所以没太在意的指针,其他内容都还好,温故而知新嘛。下面是一道题的内容和我的一种玩趣式解法。
请编写函数,对传送过来的三个数选出最大值和最小值,并通过形参传回调用函数(即用a,b,c的顺序表示大小)。[/b][/size]
[size=x-large][b]其实这个问题本质上就是一个排序算法的问题。所以从排序算法的角度看的话,这个方法稍显笨重。不过我在上面已经说了这是一个for fun的算法。[/b][/size]
请编写函数,对传送过来的三个数选出最大值和最小值,并通过形参传回调用函数(即用a,b,c的顺序表示大小)。[/b][/size]
void test_6(int *a,int *b,int*c){
int max,min;
if(*a>*b){
max=*a;
if(*c>max){
max=*c;
*c=*b;
*b=*a;
*a=max;
}else{
if(*b>*c){
return;
}else{
min=*b;
*b=*c;
*c=min;
}
}
}else {
max=*b;
if(*c>max){
max=*c;
*c=*a;
*a=max;
}else{
if(*a>*c){
*b=*a;
*a=max;
}else{
min=*a;
*b=*c;
*c=min;
}
}
}
}
[size=x-large][b]其实这个问题本质上就是一个排序算法的问题。所以从排序算法的角度看的话,这个方法稍显笨重。不过我在上面已经说了这是一个for fun的算法。[/b][/size]