⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 C语言相关程序
💻
字号:
//写一个程序,给出一个一维数组的元素值,先后四次调用一个函数,分别求:
//(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 + -