76-C语言-输入班级学生的姓名和三科成绩,按总分排名

问题:
        输入50分学生的姓名和三科成绩,按降序输出名字和总分,成绩相同的并列排名、

思路:

  1. 因为要学生排名,且一个学生有姓名,成绩,以及总分,所以弄一个学生的结构体。
  2. 有多少学生,就输入该结构体的数组。
  3. 一个for循环,给每个学生赋值。
  4. 排序——降序,用冒泡排序实现结构体互换,按照总分比,temp类型为学生类型。
  5. 输出的时候,先输出,之后进行判断,如果当前值不等于后面的值,就换行,否则并列输出。
  6. 代码如下:
  7. #include <stdio.h>
    typedef struct student
    {
    	char name[20];
    	float score[3];
    	float sum;	
    }student;
    int main()
    {
    	student s[3];
    	int i;
    	for(i=0;i<3;i++)
    	{
    		printf("输入名字\n");
    		scanf("%s",&s[i].name);
    		int k=0;
    		float sum=0;
    			printf("输入成绩\n");
    		for(k=0;k<3;k++)
    		{	
    			scanf("%f",&s[i].score[k]);
    			sum=sum+s[i].score[k];
    		}
    		s[i].sum=sum;
    	} 
    	int p,q;
    	student temp;
    	for(p=0;p<2;p++)
    	{
    		
    		for(q=0;q<2-p;q++)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔心小韩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值