指针最值

来源:百度知道 编辑:UC知道 时间:2024/06/04 09:55:32
输入10个学生成绩,成绩取值范围为0到100分,
指针编程实现:
1,找出最大值最小值
2,去掉最高成绩和最低成绩之后计算并显示平均成绩。

思路:
1:首先是输入部分,<0或>100的值就不要!放到一个数组里去好了!
2:声明三个指针:P1,P2,P3.P1用来指向最大,P2最小!
3:将P1,2,3分别指向数组的前三个元素!
4:比较P1,P2指向的值,如果值P2>P1,交换!
5:进入循环.
6:比较P1和P3,如果值P3>P1,交换!否则,比较P3和P2,如果P3<P2,交换!
7:直到P3指向最后一个数组元素,此时P1,P2就记录了最大和最小值!
//退出循环!
8:将所有的元素值加起来,减去P1,P2的值,再除以8就是平均数了!

main()
{
float p1,p2,p3,sum=0;
double avg=0;
int i;
float a[10];
for(i=0;i<10;i++)
scanf("%f",a);
p1=a[0];p2=a[0];
for(i=0;i<10;i++)
{
p1<a[i];
p1=a[i];
p2>a[i];
p2=a[i];
sum+=a[i];
}
avg=(sum-p1-p2)/8;
prinf("%d",avg);
}
我没运行 你运行试下

#include <vcl.h>
#include <stdio.h>
#include <conio.h>

#define SIZE 10

int GetHighest(int *a)
{
int temp = 0;
for (int i=0; i<SIZE