「已注销」 2021-06-07 23: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;
    } 

    代码如上,万望采纳。

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    「已注销」 2021-06-10 01:25

    排序那里有问题 不能将 "struct student" 类型的值分配到 "struct student" 类型的实体

    回复
    「已注销」 2021-06-10 01:26

    不能运行

    回复
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部