一维数组:输出最高分数的学生姓名——简单

本篇博客介绍了一个使用C语言解决的问题:输入学生人数及各学生分数和姓名,找出并输出最高分学生的名字。代码中运用了基本的输入输出、条件判断和循环结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述:

输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。

输入

第一行输入一个正整数N(N<=100),表示学生的人数。接着输入N行,每行格式如下:
分数 姓名
分数是一个非负整数,且小于等于100;
姓名为一个连续的字符串,中间没有空格,长度不超过20。
数据保证最高分只有一位同学。

输出

获得最高分数同学的姓名。

样例输入
5
87 lilei
99 hanmeimei
97 lily
96 lucy
77 jim

样例输出
hanmeimei

来源:
(http://noi.openjudge.cn)

解题思路:
代码

#include<stdio.h>

int main()
{
    int n,c,x,f=1,d,i;
    char a[21],y[21];
    scanf("%d",&n);
    for(i=1;i<=n;i++)
   {
	scanf("%d",&c);
	if(x>c)
	{
	     scanf(" %c",&a[d]);
	     while(a[d]!='\n')
	     {
		       d++;
		       scanf("%c",&a[d]);     //输入学生成绩
         }
	 }
	 if(x<=c)
	 {
	      f=0;                        //判断是否属实
	      d=1;
	      x=c;
          scanf(" %c",&y[d]);
	      while(y[d]!='\n')
	     {
		       f++;
		       d++;
		       scanf("%c",&y[d]);     //输入对应的学生姓名
	      }
	  }
    }
    for(i=1;i<=f;i++)
    printf("%c",y[i]);
    return 0;
}

PS:本博客属于中国石油大学胜利学院ACM协会所有!
BY:高聪慧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值