「已注销」 2021-06-08 07:44 采纳率: 100%
浏览 38
已结题

求大佬用简单的c++帮我,求求了

 

  • 写回答

3条回答 默认 最新

  • 关注
    #include "stdio.h"
    #define N 2
    struct student{
    	int stuNo;
    	char stuName[20];
    	float kq;
    	float ktbx;
    	float pszy;
    	float ktbj;
    	float score;
    	float total;
    }stu[N];
    int main(){
    	//输入成绩 
    	for(int i=0;i<N;i++){
    		printf("请输入第%d个同学的学号、姓名、考勤、课堂表现、平时作业、课堂笔记、末考成绩(空格隔开)\n",i+1);
    		scanf("%d %s %f %f %f %f %f",&stu[i].stuNo,stu[i].stuName,&stu[i].kq,&stu[i].ktbx,&stu[i].pszy,&stu[i].ktbj,&stu[i].score);
    		stu[i].total=(stu[i].kq*0.3+stu[i].ktbx*0.3+stu[i].pszy*0.3+stu[i].ktbj*0.1)*0.3+stu[i].score*0.7;
    	}
    	//排序
    	for(int i = 0; i < N - 1; i++) {
            for(int j = 0; j < N - 1 - i; j++) {
            	// 相邻元素两两对比
                if(stu[j].total < stu[j+1].total) {
                	struct student temp;
                	//元素交换
                    temp = stu[j+1];       
                    stu[j+1] = stu[j];
                    stu[j] = temp;
                }
            }
        }
        printf("学号\t姓名\t总分\n");
        for(int i=0;i<N;i++){
        	printf("%d\t%s\t%.2f\n",stu[i].stuNo,stu[i].stuName,stu[i].total);
    	}
    	return 0;
    } 

    代码如上,万望采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月15日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看