爷是少爷 2022-05-28 22:23 采纳率: 81.8%
浏览 25
已结题

学生成绩统计问题动态结构体变量

问题遇到的现象和发生背景

我又来了,今天用C写一个学生的成绩统计遇到的问题,代码如下,问题是如何动态的定义一个结构体变量,因为不确定要输入几个同学的成绩,所以就无法确定有几个结构体变量,知道的小伙伴一定要告知一下

问题相关代码,请勿粘贴截图
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

struct student
{
    char xm[10];
    int xh[5];
    float yy[3];
    float sx[3];
    float c[3];
};

int main()
{
    int n = 0;
    printf("请问有几个学生?");
    scanf("%d", &n);
    struct student a[100];
    for (int i = 0; i < n; i++)
    {
        printf("请输入第%d位同学的信息.\n", i + 1);
        printf("姓名、学号、语文、数学、C语言:");
        scanf("%c", &a[i].xm);
        scanf("%d", &a[i].xh);
        scanf("%f", &a[i].yy);
        scanf("%f", &a[i].sx);
        scanf("%f", &a[i].c);
    }
    return 0;
}

  • 写回答

3条回答 默认 最新

  • 浪客 2022-05-28 23:37
    关注
    #define _CRT_SECURE_NO_WARNINGS
    
    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct
    {
        char xm[10];
        int xh;
        float yy;
        float sx;
        float c;
    } student;
    
    int main()
    {
        int n = 0;
        printf("请问有几个学生?");
        scanf("%d", &n);
        student *a = (student *)malloc(sizeof(student) * n);
        for (int i = 0; i < n; i++)
        {
            printf("请输入第%d位同学的信息.\n", i + 1);
            printf("姓名、学号、语文、数学、C语言:");
            scanf("%s", a[i].xm); //字符串不需要加&,用%s
            scanf("%d", &a[i].xh);
            scanf("%f", &a[i].yy);
            scanf("%f", &a[i].sx);
            scanf("%f", &a[i].c);
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月12日
  • 已采纳回答 6月4日
  • 创建了问题 5月28日

悬赏问题

  • ¥15 腾讯云如何建立同一个项目中物模型之间联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码