数据类型按照实际情况定义

 要求从键盘端输入10名学生的期末总成绩,定义一个指针,让指针指向数组,用指针的方法输出10个学生的成绩,并求出高于平均值的学生成绩.(数据类型按照实际情况定义)(30分)

 

#include<stdio.h>
int main()
{
    int stu[10],*p,i,sum=0;
    float ave;
    printf("input array[10]:\n");
    for(i=0; i<10; i++){
        scanf("%d",&stu[i]);
        sum+=stu[i];
    }
    ave=sum*1.0/10;
    for(p=stu; p<(stu+10); p++)
        printf("%d ",*p);
    printf("\n");
    printf("高于平均分的成绩\n");
    for(p=stu; p<(stu+10); p++)
        if(*p>ave)
        printf("%d ",*p);
}
/*2 3 4 5 6 7 8 9 1 10*/

将指针等于数组就可以了

int main()
{
    float score[10],sum=0,avg=0;
    float *p = score;
    int i;
    
    for(i=0;i<10;i++)
    {
        scanf("%f",p+i);
        sum += *(p+i);
        printf("%f ",*(p+i));
    }
    printf("\n");
    avg = sum/10;
    for(i=0;i<10;i++)
    {
        if(*(p+i) > avg)
            printf("%f ",*(p+i));
    }
    return 0;
}

 

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
int main()
{
	int a[10],i;
	int *p = a;
	float avg = 0.0;
	for (i=0;i<10;i++,p++)
	{
		scanf("%d",p);
		avg += *p;
	}
	avg /= 10.0;
	printf("获取的成绩:\n");
	p = a;
	for (i =0;i<10;i++,p++)
	{
		printf("%d ",*p);
	}
	printf("\n大于平均分的成绩:\n");
	p = a;
	for (i =0;i<10;i++,p++)
	{
		if(*p > avg)
			printf("%d ",*p);
	}
 
	return 0;
}