教你如何写出指针版判断学生成绩的c程序
1、打开啊哈c编译器

2、int scores[10];
int len;
int max;
int min;
int total;
float average;
int *p;
p = &scores[0];

3、len = sizeof(scores)/sizeof(scores[0]);
initscores(&scores[0],len);
printscores(&scores[0],len);
max = getmax(&scores[0],len);
min = getmin(&scores[0],len);
total = gettotal(&scores[0],len);
average = getaverage(&scores[0],len);
printfret(max,min,total,average);

4、void initscores(int *datas,int size)
{
int i;
for(i=0;i<size;i++){
printf("请输入第%d个学生的分数:",i+1);
scanf("%d", datas);
if(*datas>100 ||*datas<0){
printf("*****你牛逼,哪里有这种奇怪的分数*****\n");
printf("**强制退出该程序,我的程序不给你用了**\n");
system("pause");
exit(-1);
}
datas++;
}
}

5、void printscores(int *datas,int size)
{
int i;
for(i=0;i<size;i++){
printf("第%d个学生的成绩是:%d\n",i+1,*datas++);
}
}
int getmax(int *datas,int size)
{
int i;
int max;
max = *datas;
for(i=0;i<size;i++){
if(max < *datas){
max = *datas;
}
datas++;
}
return max;
}

6、int getmin(int *datas,int size)
{
int i;
int min;
min = datas[0];
for(i=0;i<size;i++){
if(min > *datas){
min = *datas;
}
datas++;
}
return min;
}
float gettotal(int *scores,int size)
{
int i;
int total=0;
for(i=0;i<size;i++){
total += *scores;
}scores++;
return total;
}

7、float getaverage(int *scores,int size)
{
int i;
int total=0;
for(i=0;i<size;i++){
total += *scores;
}
scores++;
float average;
average = (float)total/10;
return average;
}
void printfret(int data1,int data2,int data3,float data4)
{
printf("最高分:%d\n 最低分:%d\n 总分:%d\n 平均分:%f\n",data1,data2,data3,data4);
}

8、运行程序

9、运行程序时,输入的成绩大于100时
