爷是少爷 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 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。