int Ascending(int a,int b);
{
return a<b;
}
int Descending(int a,int b);
{
return a>b;
}
void SelectionSort(int a[],int n,int (*compare)(int a,int b));
{
int i,j,k;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if((*compare)(a[j],a[k]))
k=j;
}
if(k!=i)
Swap(&a[k],&a[j]);
}
}
SelectionSort(score,n,Ascending);
SelectionSort(score,n,Descending);
9.4课后习题
#include<stdio.h>
float fun1(float x)
{
return 1+x*x;
}
float fun2(float x)
{
return x/(1+x*x);
}
float fun(float (*f)(float),float a,float b)
{
flaot i,sum,n;
sum=0;
n=(b-a)/100;
for(i=a+n/2;i<b;i+=n)
{
sum+=n*(*f)(i);
}
return sum;
}
int main()
{
float sum1,sum2;
sum1=fun(fun1,0,1);
sum2=fun(fun2,0,3);
printf("sum1=%f,sum2=%f\n",sum1,sum2);
return 0;
}