Chaos Long 2021-05-16 20:56 采纳率: 100%
浏览 27
已采纳

可以帮我看看这种程序怎么写吗?

定义一个结构体数组存放五位学生的学号,姓名以及3门课程的成绩,编写程序从屏幕输入这五位学生的信息,对次数组按总分进行排序在打印排序后的学生信息。建立一个单向链表,将数组中的学生信息存放到链表中,并尝试在链表中进行排序。

  • 写回答

2条回答 默认 最新

  • 关注

    参考一下:

    /* Note:Your choice is C IDE */
    #include "stdio.h"
    
    #define N 2
    struct Student
    {
    	//学号
    	int		num; //成员变量或者一个数据项
    	//姓名
    	char	name[20];
    	//性别
    	char	sex; //M,F
    	//成绩
    	float	html;	
    	float	ppt;
    	float	cyuyan;
    	float	sum;
    }st[N];
    void input();
    void display();
    void main()
    {
        input();
        display();
    }
    //输入函数
    void input()
    {
    	int i;
    	for(i=0;i<N;i++)
    	{
    		printf("请输入第%d个学生的学号,姓名,性别,html,ppt,cyuyan:",i+1);
    		scanf("%d",&st[i].num);
    		scanf("%s ",st[i].name);
    		scanf("%c ",&st[i].sex);
    		scanf("%f",&st[i].html);
    		scanf("%f",&st[i].ppt);
    		scanf("%f",&st[i].cyuyan);
    		st[i].sum = st[i].html+st[i].ppt+st[i].cyuyan;
    	}
    		
    }
    //输出
    void display()
    {
    	int i;
    	printf("学号\t姓名\t\t性别\thtml\tppt\tC语言\t总分\t平均分\n");	
    	for(i=0;i<N;i++)
    	{
    		printf("%d\t%s\t%c\t%0.2f\t%0.2f\t%0.2f\t%0.2f\t%0.2f\n",st[i].num,st[i].name,st[i].sex,st[i].html,st[i].ppt,st[i].cyuyan,st[i].sum,st[i].sum/3);
    	}	
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容