前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言结构体数组及结构体指针例题

C语言结构体数组及结构体指针例题

作者头像
岳泽以
发布2022-10-26 16:11:07
1.7K0
发布2022-10-26 16:11:07
举报
文章被收录于专栏:岳泽以博客

通过结构体数组给定 3 个学生的信息。信息包括:学号,姓名,成绩,找出成绩最高的学生的所有信息。

代码语言:javascript
复制
#include<stdio.h>
struct Student{
    int num;
    char name[20];
    float score;
};
int main(){
    struct Student a[3]={{1,"zhangsan",90},
    {2,"list",80},
    {3,"wangwu",100
    }};
    struct Student max=a[0];
    int i;
    for(i=0;i<=2;i++){
        if(max.score<a[i].score)max=a[i];
    }
    printf("%d %s %f\n",max.num,max.name,max.score);
    return 0;
}

给定5个学生的信息。信息包括:学号,姓名,成绩,从高到底排序输出每个学生的全部信息。

代码语言:javascript
复制
#include<stdio.h>
struct Student{
    int num;
    char name[20];
    float score;
};
int main(){
    struct Student a[5]={{1,"zhangsan",90},
    {2,"list",80},
    {3,"wangwu",100
    },{3,"wangwu",50
    },{3,"wangwu",72
    }};
    struct Student temp;
    int j;
    for(j=1;j<=4;j++){
        int i;
        for(i=0;i<=3;i++){
            if(a[i].score<a[i+1].score){
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        } 
    }
    int i;
    for(i=0;i<=4;i++){
        printf("%d %s %f\n",a[i].name,a[i].name,a[i].score);
    }
    return 0;
}

有3个学生结构体变量,学生信息包括:学号,姓名和3门课的成绩。要求输出平均分最高学生的全部信息。

代码语言:javascript
复制
#include<stdio.h>
#include<string.h>
struct Student{
    int num;
    char name[20];
    float score[3];
    float avg;
};
int main(){
    struct Student stu[3];
    stu[0].num=1;strcpy(stu[0].name,"zhangsan");
    stu[0].score[0]=90;stu[0].score[1]=80;
    stu[0].score[2]=75;
    stu[0].avg=stu[0].score[0]/3+
    stu[0].score[1]/3+stu[0].score[2]/3;
    stu[1].num=2;strcpy(stu[1].name,"list");
    stu[1].score[0]=98;stu[1].score[1]=60;
    stu[1].score[2]=72;
    stu[1].avg=stu[1].score[0]/3+
    stu[1].score[1]/3+stu[1].score[2]/3;
    stu[2].num=3;strcpy(stu[2].name,"wangwu");
    stu[2].score[0]=70;stu[2].score[1]-90;
    stu[2].score[2]=86;
    stu[2].avg=stu[2].score[2]/3;
    struct Student max=stu[0];
    int i;
    for(i=0;i<=2;i++){
        if(max.avg<stu[i].avg)max=stu[i]; 
    }
    printf("%d %s %f %f %f %f",max.num,max.name,max.score[0],max.score[1],max.score[2],max.avg);
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 04 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档