本题要求实现一个函数,可计算一维数组中最大与最小值的差。数据在主函数中读入。
int max_min(int a[],int n)
{
int min=a[0];
int max=a[0];
for(int i=1;i<n;i++)
{
if(a[i] > max)
max=a[i];
if(a[i] < min)
min=a[i];
}
return max-min;
}
本题要求实现一个简单函数,找出两个数中的最大值。
void findmax( int *px, int *py, int *pmax )
{
*pmax=*px>*py?*px:*py;
}
fun函数的功能是:给定n个实数,输出平均值,并统计小于等于平均值的实数个数。
int fun(float x[],int n)
{
float average=0,sum=0;
int y=0,j=0;
for(y=0;y<n;y++)
{
sum=sum+x[y];
}
average=sum/n;
for(y=0;y<n;y++)
{
if(x[y]<=average)
{
j++;
}
}
printf("ave=%.2f\n",average);
return j;
}
请设计求两个对象最大值的函数模板。
template <typename TYPE>
TYPE& Max(const TYPE &x, const TYPE &y)
{
return (TYPE&)(x >= y ? x : y);
}
请编写函数,用递归方法求阶乘。
n!=1×2×3×⋯×n
规定:0!=1
函数原型
double Fac(int x)
{
double jiecheng;
if(x==0||x==1)
{
jiecheng=1;
}
else
{
jiecheng=x*Fac(x-1);
}
return jiecheng;
}
定义一个函数,求一组整数的最大值和最小值。
void fun( int *a,int n,int *max, int *min )
{
int x=0;
*max=a[0];*min=a[0];
for(x;x<n;x++)
{
if(a[x]>*max)
{
*max=a[x];
}
if(a[x]<*min)
{
*min=a[x];
}
}
}
从键盘输入n(n<=10),n代表数组元素个数,对数组进行所有元素的输入输出,输入输出功能在fun函数中实现,主函数不要动,要求用指针法操作数组,不要用下标法。
void fun(int b[],int n)
{
int *p,x=0;
for(x=0;x<n;x++)
{
scanf("%d",&b[x]);
}
for(p=b;p<(b+n-1);p++)
{
printf("%d ",*p);
}
printf("%d",*(b+n-1));
}
定义函数处理结构体数组,按成绩从高到低降序排列。
void fun ( struct stu *p, int n )
{
int x,j;
for(x=0;x<n;x++)
{
for(j=0;j<n-x;j++)
{
if(p[j+1].score>p[j].score)
{
struct stu t;
t=p[j+1];
p[j+1]=p[j];
p[j]=t;
}
}
}
}