指针练习三

#include<stdio.h>
/*
有4名学生,每个学生的属性包括学号、姓名、成绩,要求通过指针方法
找出成绩最高者的姓名和成绩。
*/

struct stu 
{
	int id;
	char name[20];
	float score;
};

void main()
{
	int i;
	float max;

	struct stu student[4];
	struct stu *p;
	struct stu *t;//指向最大值数据的指针
	
	//输入数据
	for(p = student,i = 1; p < student + 4; p++, i++)
	{
		printf("please input %d student's id\tname\tscore:\n", i);
		scanf("%d%s%f",&p->id, p->name, &p->score);
	}

	p = student;

	//比较
	for(max = p->score; p < student + 4; p++)
	{
		if(student->score > max)
		{
			max = p->score;
		}

		t = p;
	}

	//输出最大值信息
	printf("No.%d\t name:%s\t score:%f\n",t->id, t->name, t->score);
}

/*
void main()
{
	struct student
	{
		int num;
		char name[20];
		float score;
	};

	struct student stu[4];
	struct student *p;
	int i;
	int temp = 0;

	float max;
	for(p = stu,i = 1; p < stu + 4; p++,i++)
	{
		printf("please input %d student's id\tname\tscore:\n", i);

		scanf("%d %s %f",&p->num, p->name, &p->score);
	}
	
	for(max = stu[0].score,i = 1; i < 4; i++)
	{
		if(stu[i].score > max)
		{
			max = stu[i].score;
			temp = i;
		}
	}

	p = stu + temp;

	printf("\nhighest score:\n");

	printf("NO.%d\tname:%s\tscore:%f\n",p->num, p->name, p->score);

}
*/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值