📄
字号:
//写一个程序,给出一个一维数组的元素值,先后四次调用一个函数,分别求:
//(1)数组的元素值之和;(2)最大值;(3)下标为奇数的元素之和;(4)求各元素的平均值
#define N 12
#include<stdio.h>
main()
{
static float a[]={1,5,3,2,8,6,4,7,2,1,2,6,5,3,9,5,4,7,5,8,2,6,5,4,7};
float arr_add(),odd_add(),arr_ave(),arr_max();
void process(float *p,int n,float(*fun)());
int n=N;
printf("sum of %d elements is:",n);
process(a,n,arr_add);
printf("the sum of odd elements is:");
process(a,n,odd_add);
printf("the average of %d elements is:",n);
process(a,n,arr_ave);
printf("the maximum of %d elements is:",n);
process(a,n,arr_max);
}
float arr_add(float arr[],int n)
{
int i;
float sum=0;
for(i=0;i<n;i++)
sum+=arr[i];
return(sum);
}
float odd_add(float *p,int n)
{
int i;
float sum=0;
for(i=1;i<n;i=i+2,p=p+2)
sum=sum+*p;
return(sum);
}
float arr_ave(float *p,int n)
{
int i;
float sum=0,ave;
for(i=0;i<n;i++)
sum=sum+p[i];
ave=sum/n;
return(ave);
}
float arr_max(float arr[],int n)
{
int i;
float max;
max=arr[0];
for(i=1;i<n;i++)
if(arr[i]>max)max=arr[i];
return(max);
}
void process(float *p,int n,float(*fun)())
{
float result=0.0;
result=(float)(*fun)(p,n);
printf("%8.2f\n",result);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -