m0_58743607 2021-05-31 08:15 采纳率: 100%
浏览 75
已采纳

c语言结构体的应用..

用struct student的形式 

c语言作业 

大佬帮帮忙

学生的记录由学号、姓名和C语言成绩组成,根据班级人数,将学生记录存放在结构体数组中。请编程实现将分数高于平均分的学生记录存放到另一个结构体数组中,输出平均分、相应学生记录和人数。要求:班级人数、学生记录均由键盘输入。

 

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-05-31 08:37
    关注
    /*
    学生的记录由学号、姓名和C语言成绩组成,根据班级人数,将学生记录存放在结构体数组中。
    请编程实现将分数高于平均分的学生记录存放到另一个结构体数组中,
    输出平均分、相应学生记录和人数。要求:班级人数、学生记录均由键盘输入。
    */
    #include <stdio.h>
    void main()
    {
    	student stu[100];
    	student goodstu[100];
    	int i, n,m=0;
    	float sum = 0;
    	printf("请输入学生人数:");
    	scanf_s("%d", &n);
    	printf("\n");
    	for (i = 0; i < n; i++)
    	{
    		printf("请输入第%d个学生学号:",i+1);
    		scanf_s("%d", &stu[i].nID);
    		printf("\n请输入第%d个学生姓名:", i + 1);
    		scanf_s("%s", stu[i].name,20);
    		printf("\n请输入第%d个学生C语言成绩:", i + 1);
    		scanf_s("%f", &stu[i].score);
    		printf("\n");
    		sum += stu[i].score;
    	}
    	float avg = sum / n;
    	//
    
    	for (i = 0; i < n; i++)
    	{
    		if (stu[i].score > avg)
    		{
    			goodstu[m].nID = stu[i].nID;
    			goodstu[m].score = stu[i].score;
    			memcpy(goodstu[m].name, stu[i].name, 20);
    			m++;
    		}
    	}
    	printf("平均分为:%.1f,超过平均分的学生共有%d人\n", avg,m);
    	for (i = 0; i < m; i++)
    	{
    		printf("%d\t%s\t%.1f\n", goodstu[i].nID, goodstu[i].name, goodstu[i].score);
    	}
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥200 基于同花顺supermind的量化策略脚本编辑
  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?