MST

星途 面试题库

面试题:C语言结构体与宏定义的基础结合应用

定义一个结构体表示学生信息,包含姓名、年龄和成绩。使用宏定义来设置成绩的满分值,并编写一个函数,利用这个宏定义和结构体,计算学生成绩的得分比例并返回。
28.2万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试
#include <stdio.h>

// 宏定义成绩的满分值
#define MAX_SCORE 100

// 定义学生信息结构体
typedef struct {
    char name[50];
    int age;
    int score;
} Student;

// 计算学生成绩得分比例的函数
float calculateScoreRatio(Student student) {
    return (float)student.score / MAX_SCORE;
}

你可以使用以下方式调用这个函数:

int main() {
    Student student = {"Alice", 20, 85};
    float ratio = calculateScoreRatio(student);
    printf("得分比例: %.2f%%\n", ratio * 100);
    return 0;
}

在上述代码中:

  1. 首先通过#define MAX_SCORE 100定义了成绩的满分值为100。
  2. 接着定义了Student结构体,包含学生的姓名name、年龄age和成绩score
  3. calculateScoreRatio函数接受一个Student结构体变量作为参数,计算并返回学生成绩的得分比例。
  4. main函数中创建了一个学生实例,并调用calculateScoreRatio函数得到得分比例并打印。