当前位置: 首页 > article >正文

C语言-结构体数组练习题

 练习1:
        输入一个班级的学生信息(包含id 、name 、gender、score), 并把学习成绩超过全班平均成绩的学生找出来,输出这部分学生的姓名和成绩。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define MAX 100
typedef struct Stu {
    int id;
    char name[10];
    char gender[8];
    int score;
}Stu;
int main() {
    int num_stu;//学生个数
    struct Stu stu1[MAX];
    int i = 0;
    int sum=0;
    double avg ;
    printf("请输入学生数量:");
    scanf(" %d", &num_stu);
    for (int i = 0;i < num_stu;i++) {
        printf("请输入学生的ID、姓名、性别、分数:");
        scanf(" %d %9s %7s %d", &stu1[i].id, stu1[i].name, &stu1[i].gender, &stu1[i].score);
        sum=sum+stu1[i].score;        
    }
    avg = (double)(sum / num_stu);
    printf("平均成绩:%.2lf\n", avg);
    for (int i = 0;i < num_stu;i++) {
        if (stu1[i].score > avg) {
            printf("超过平均成绩的学生姓名:%s 成绩:%d\n", stu1[i].name, stu1[i].score);
        }
    }
    return 0;
}

练习2:
        编写一个统计选票的系统,根据先后输入的侯选人姓名,统计各人的得票数。

#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <stdio.h>
#define N 3   
struct xuanpiao {
    char name[10];
    int piao;
};
int main() {
    struct xuanpiao per[3] = { {"张三",0},{"李四",0},{"王五",0} };
    char toupiao[10];
    printf("请选择您要投票的人(张三、李四、王五)\n");
    for (int i = 0;i < 3;i++) {//i<3 投票人数
        scanf(" %s",toupiao);
        for (int j = 0;j < 3;j++) {
            if (strcmp(toupiao, per[j].name) == 0) {
                per[j].piao++;
                break;
            }
        }
    }
    printf("投票结果:\n");
    for (int j = 0;j < 3;j++) {
        printf("%9s %d ", per[j].name, per[j].piao);
    }
    return 0;
}

练习3:
(1)编程创建一个BOX结构体,在其中定义三个成员表示一个立方体的长、宽和高,长宽高可以通过控制参输入。
(2)定义一个函数获取立方体的体积(volume)。
(3)创建一个结构,打印给定尺寸的立方体的体积。 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct BOX {
    double chang;
    double kuan;
    double gao;
};
double getvolume(struct BOX a);
int main() {

    struct BOX a;//一个立方体
    printf("请输入立方体的长、宽、高\n");
    scanf(" %lf %lf %lf", &a.chang, &a.kuan, &a.gao);
    double a1 = getvolume(a);
    printf("volume=%.2lf", a1);

    return 0;
}
double getvolume(struct BOX a) {
    return  a.chang * a.kuan * a.gao;
}


http://www.kler.cn/a/451723.html

相关文章:

  • 使用Python开发高级游戏:实现一个3D射击游戏
  • 【多时段】含sop的配电网重构【含分布式电源】【已更新视频讲解】
  • 数据结构(Java版)第六期:LinkedList与链表(一)
  • 构建一个rust生产应用读书笔记7-确认邮件2
  • GitPuk安装配置指南
  • dify的ChatFlow自定义上传图片并通过HTTP请求到SpringBoot后端
  • 游戏引擎学习第60天
  • Netty ByteBuf 的零拷贝(Zero Copy)详解
  • 数据结构之旅:红黑树如何驱动 Set 和 Map
  • 地理数据库Telepg面试内容整理-应用层开发
  • 云边端架构的优势是什么?面临哪些挑战?
  • 选择FPGA开发,学历是硬性要求吗?
  • feign验签不通过,但是postman没问题
  • 【Java 基础】-- ArrayList 和 Linkedlist
  • 总结一下数据结构 树 的种类
  • 安卓音频之dumpsys audio
  • 容器技术所涉及Linux内核关键技术
  • Linux(Centos 7.6)yum源配置
  • 全国硕士研究生入学考试(考研)择校择专业之择专业主要因素
  • StableAnimator模型的部署:复旦微软提出可实现高质量和高保真的ID一致性人类视频生成
  • 【漏洞复现】CVE-2015-3337 Arbitrary File Reading
  • 在vscode的ESP-IDF中使用自定义组件
  • AIDD - 人工智能药物设计 - 用于早期识别细胞毒性化合物的ML工具
  • React Props 完整使用指南
  • ffmpeg之显示一个yuv照片
  • 我的2024创作纪念日---新的一年,要有新的开始!