一维数组与指针运算

1.从键盘输入10名学生的计算机程序设计的考试成绩,显示其中的最低分,最高分及平均成绩,要求使用指针实现以下函数功能。

‎1) 编写输入数据功能函数Input(),在主函数中调用。

‎2) 编写最低分功能函数Min(),在主函数中调用。

‎3) 编写最高分功能函数Max(),在主函数中调用。

‎4) 编写平均成绩功能函数Avg(),在主函数中调用。

#include <stdio.h>

void Input(int* a, int n)
{
	int i;
	for (i = 0; i < n; i++)
		scanf_s("%d", a + i);
}
int Max(int* a, int n)
{
	int i; int max = *a;
	for(i=1;i<n;i++)
		if(*(a+i)>max ) max=*(a+i);
			return max;
}
int Min(int* a, int n)
{
	int i,min=*a;
	for (i = 1; i < n; i++)
		if (*(a + i) < min)min = *(a + i);
	return min;

}
float Avg(int* a, int n)
{
	int i,s=0;
		for(i=0;i<n;i++)
			s+=*(a+i);
		return (float)s / n;
}
int main()
{
	int a[10];
	Input(a, 10);
	printf("最低分=%d\n",Min(a,10));
	printf("最高分=%d\n",Max(a,10));
	printf("平均分=%.1f\n",Avg(a,10));
	return 0;
}

2.编程实现使用冒泡排序法对具有12个数组元素的一维整型数组array[12] = {96,35,12,58,78,90,587,21,0,-65,106,52}按照由大到小的排序进行排序,输出排序前后的数组,并查找90是否在该数组中,若再该数组中,输出90在该数组中的位置,否则输出“90不在数组array中”,要求:使用指针在函数中实现排序和查找的功能,在主函数中调用这两个函数。

#include <stdio.h>
void maopao(int* a);
void find(int* a);
int main()
{
	int array[12] = { 96,35,12,58,78,90,587,21,0,-65,106,52 };
	find(array);
	maopao(array);
}
void maopao(int* a)
{
	int i, j, n = 12, t;
	for (i = 0; i <= n; i++)
	{
		for(j=0;j<n-i-1;j++)
			if (*(a + j) < *(a + j + 1))
			{
				t = *(a + j);
				*(a + j) = *(a + j + 1);
				*(a + j + 1) = t;
			}
	}
	for (i = 0; i < n; i++)
		printf("%d", *(a + i));
}
void find(int* a)
	{
		int flag = 0,i,n = 12;
		for (i = 0; i < n; i++)
		{
			if (*(a + i) == 90)
			{
				flag = i;
			}
		}
		if (flag != 0)
			printf("90在数组中,是array[%d]的值\n", flag);
		else
			printf("90不在数组array中\n");
	}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值