(2013-4-1)数据结构实验一:打印成绩最高和最低的学生信息

本文介绍了一种使用C语言结构体和数组实现的成绩管理系统,包括输入数据、比较成绩高低以及输出最高分和最低分的功能。

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

#include<stdio.h>
#define MAXNUM 20
typedef struct node
{
	int num;
	char name[20];
	float score;
}ElemType;

//输入数据函数
void Create(ElemType stu[],int *n)
{
	struct node *k;
	int i = 1;

	printf("Please input n=");
	scanf("%d",&*n);

	for (k = stu + 1; k <= stu + *n; k ++, i++) 
	{
		printf("please input %d\tnum\tname\tscore\n", i);

		scanf("%d%s%f",&k->num, k->name, &k->score);
	}  
}

//比较成绩高低函数
int Max(ElemType a[], int n)
{	
	float maxScore; 
	int i,x;
	
	maxScore = a[1].score;

	for(i = 1; i <= n; i++)
	{
		if(a[i].score >= maxScore)
		{
			maxScore = a[i].score;
			x = i; 
		}
	}
	return x;	
}

int Min(ElemType a[], int n)
{	
	float minScore; 
	int i,y;
	
	minScore = a[1].score;

	for(i = 1; i <= n; i++)
	{
		if(a[i].score <= minScore)
		{
			minScore = a[i].score;
			y = i; 
		}
	}

	return y;	
}

void main()
{
  ElemType a[MAXNUM+1];
  int i,n;

  int k,j;//标记最值的下标
 
  Create(a,&n);

  printf("\nCreate is completed!\n----The data is----\n num\t name\t\t score\n");
  
  for (i = 1;i <= n; i++) 
  {
	  printf("%d\t%s\t\t%f\n",a[i].num, a[i].name, a[i].score);
  }
 

  k = Max(a,n);
  j = Min(a,n);

//  printf("%d\n",k);
//  printf("%d\n",j);

  printf("---------------------------------------------\n");

  printf("higher:%d\t%s\t\t%f\n",a[k].num, a[k].name, a[k].score);
  printf("lower:%d\t%s\t\t%f\n",a[j].num, a[j].name, a[j].score);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值