指针的地址调用-----读取学生最高分

读取一个班的成绩的最高分及对应学号



#include <stdio.h>

#define N 30
void FindMax(int score[],long num[],int n,int *pMaxScore,long *pMaxNum);

void FindMax(int score[],long num[],int n,int *pMaxScore,long *pMaxNum)        //读取最高分及其对应的学号
{
    int i;
    *pMaxScore = score[0];        //假设第一个为最高分,并指向指针
    *pMaxNum = num[0];        //记录第一个人的学号
    for(i = 1;i < n;i++)        
    {
        if(score[i] > *pMaxScore)        //判断是否大于当前值
        {
            *pMaxScore = score[i];        //修改指针指向地址
            *pMaxNum = num[i];        //修改指向学号的地址
        }
    }
}

int main()
{
    int score[N],maxScore;
    int n,i;
    long num[N],maxNum;
    printf("学生总数:");
    scanf("%d",&n);        //读取学生总数
    for(i = 0;i < n;i++)
    {
        printf(" 输入ID:");        //录入成绩和学号
        scanf("%ld",&num[i]);
        printf(" 输入成绩:");
        scanf("%d",&score[i]);
    }
    FindMax(score,num,n,&maxScore,&maxNum);
    printf("最高分数:%d,对应学号:%ld\n",maxScore,maxNum);
    return 0;

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值