码蹄杯语言基础:结构体(C语言)

简介: 码蹄杯语言基础:结构体(C语言)

码蹄集网站地址:https://www.matiji.net/exam/ojquestionlist

⭐MT1558新生命

狼群新生了一只尊贵的艾尔法狼,请设计一个结构体,管理它的信息,信息包括名字,年龄,性别。

输入艾尔法狼宝宝的信息,然后再输出他的信息。

格式

输入格式:

输入名字性别为字符型,年龄整型

输出格式:

输出名字性别为字符型,年龄整型

#include<stdio.h>
struct information
{
    char name[50];
    int age;
    char sex;
} message;
int main()
{
    scanf("%s %d %c", message.name, &message.age, &message.sex);
    printf("%s %d %c\n", message.name, message.age, message.sex);
    return 0;
}

⭐MT1559幼儿园

幼儿园开学了,请帮老师设计一个结构体,管理宝宝们的信息,信息包括姓名,年龄,性别。

输入5个宝宝的信息,然后再输出他们的信息。

格式

输入格式:

输入分5行,姓名性别为字符型,年龄整型

输出格式:

输出1行

#include<stdio.h>
struct information
{
    char name[50];
    int age;
    char sex;
};
int main()
{
    struct information baby1;
    struct information baby2;
    struct information baby3;
    struct information baby4;
    struct information baby5;
    scanf("%s %d %c", baby1.name, &baby1.age, &baby1.sex);
    scanf("%s %d %c", baby2.name, &baby2.age, &baby2.sex);
    scanf("%s %d %c", baby3.name, &baby3.age, &baby3.sex);
    scanf("%s %d %c", baby4.name, &baby4.age, &baby4.sex);
    scanf("%s %d %c", baby5.name, &baby5.age, &baby5.sex);
    printf("%s %d %c ", baby1.name, baby1.age, baby1.sex);
    printf("%s %d %c ", baby2.name, baby2.age, baby2.sex);
    printf("%s %d %c ", baby3.name, baby3.age, baby3.sex);
    printf("%s %d %c ", baby4.name, baby4.age, baby4.sex);
    printf("%s %d %c ", baby5.name, baby5.age, baby5.sex);
    return 0;
}

⭐MT1562谁是先锋

攻城战要开始了,女王依依手里有4个黑骑士,女王依依要找出最强大的黑骑士作为先锋。

请设计一个结构体,管理他们的信息,信息包括姓名,攻击力。

输入他们信息,然后再输出先锋的信息。

格式

输入格式:

输入分4行,姓名为字符型,攻击力整型

输出格式:

输出分4行

#include<stdio.h>
struct information
{
    char name[50];
    int attack_power;
};
int main()
{
    struct information Knight1;
    struct information Knight2;
    struct information Knight3;
    struct information Knight4;
    scanf("%s %d", Knight1.name, &Knight1.attack_power);
    scanf("%s %d", Knight2.name, &Knight2.attack_power);
    scanf("%s %d", Knight3.name, &Knight3.attack_power);
    scanf("%s %d", Knight4.name, &Knight4.attack_power);
    if ((Knight1.attack_power > Knight2.attack_power) && (Knight3.attack_power > Knight4.attack_power))
    {
        if (Knight1.attack_power > Knight3.attack_power)
        {
            printf("%s %d", Knight1.name, Knight1.attack_power);
        }
        else
        {
            printf("%s %d", Knight3.name, Knight3.attack_power);
        }
    }
    else if ((Knight1.attack_power < Knight2.attack_power) && (Knight3.attack_power < Knight4.attack_power))
    {
        if (Knight2.attack_power > Knight4.attack_power)
        {
            printf("%s %d", Knight2.name, Knight2.attack_power);
        }
        else
        {
            printf("%s %d", Knight4.name, Knight4.attack_power);
        }
    }
    else if ((Knight1.attack_power > Knight2.attack_power) && (Knight3.attack_power < Knight4.attack_power))
    {
        if (Knight1.attack_power > Knight4.attack_power)
        {
            printf("%s %d", Knight1.name, Knight1.attack_power);
        }
        else
        {
            printf("%s %d", Knight4.name, Knight4.attack_power);
        }
    }
    else if ((Knight1.attack_power < Knight2.attack_power) && (Knight3.attack_power > Knight4.attack_power))
    {
        if (Knight2.attack_power > Knight3.attack_power)
        {
            printf("%s %d", Knight2.name, Knight2.attack_power);
        }
        else
        {
            printf("%s %d", Knight3.name, Knight3.attack_power);
        }
    }
    return 0;
}

⭐MT1563谁是胆小鬼

攻城战结束了,女王依依清点俘虏,发现跑掉了1个胆小的穴居人,女王依依要找出是谁跑掉了。斥候调查发现逃走的是一个攻击力最弱小的穴居人。

请设计一个结构体,管理穴居人俘虏的信息,信息包括姓名,攻击力。

输入4个俘虏的信息,然后再输出逃走的俘虏的信息。

格式

输入格式:

输入分4行,姓名为字符型,攻击力整型

输出格式:

输出分4行

#include<stdio.h>
struct information
{
    char name[50];
    int attack_power;
};
int main()
{
    struct information people1;
    struct information people2;
    struct information people3;
    struct information people4;
    scanf("%s %d", people1.name, &people1.attack_power);
    scanf("%s %d", people2.name, &people2.attack_power);
    scanf("%s %d", people3.name, &people3.attack_power);
    scanf("%s %d", people4.name, &people4.attack_power);
    if ((people1.attack_power < people2.attack_power) && (people3.attack_power < people4.attack_power))
    {
        if (people1.attack_power < people3.attack_power)
        {
            printf("%s %d", people1.name, people1.attack_power);
        }
        else
        {
            printf("%s %d", people3.name, people3.attack_power);
        }
    }
    else if ((people1.attack_power > people2.attack_power) && (people3.attack_power > people4.attack_power))
    {
        if (people2.attack_power < people4.attack_power)
        {
            printf("%s %d", people2.name, people2.attack_power);
        }
        else
        {
            printf("%s %d", people4.name, people4.attack_power);
        }
    }
    else if ((people1.attack_power < people2.attack_power) && (people3.attack_power > people4.attack_power))
    {
        if (people1.attack_power < people4.attack_power)
        {
            printf("%s %d", people1.name, people1.attack_power);
        }
        else
        {
            printf("%s %d", people4.name, people4.attack_power);
        }
    }
    else if ((people1.attack_power > people2.attack_power) && (people3.attack_power < people4.attack_power))
    {
        if (people2.attack_power < people3.attack_power)
        {
            printf("%s %d", people2.name, people2.attack_power);
        }
        else
        {
            printf("%s %d", people3.name, people3.attack_power);
        }
    }
    return 0;
}

⭐MT1564编程好难

小码哥买了3本编程书,他想先学最简单的,请帮他把最薄的书挑出来。 请设计一个结构体,管理书籍的信息,信息包括种类,书名(不含空格),页数。输入书籍的信息,然后再输出最薄的书信息。

格式

输入格式:

按行输入种类,书名为字符型,价格整型

输出格式:

按行输出种类,书名为字符型,价格整型

#include<stdio.h>
struct Books
{
    char language[10];
    char name[30];
    int page;
};
int main()
{
    struct Books book1;
    struct Books book2;
    struct Books book3;
    scanf("%s %s %d", book1.language, book1.name, &book1.page);
    scanf("%s %s %d", book2.language, book2.name, &book2.page);
    scanf("%s %s %d", book3.language, book3.name, &book3.page);
    if (book1.page < book2.page && book1.page < book3.page)
    {
        printf("%s %s %d", book1.language, book1.name, book1.page);
    }
    else if (book2.page < book1.page && book2.page < book3.page)
    {
        printf("%s %s %d", book2.language, book2.name, book2.page);
    }
    else if (book3.page < book2.page && book3.page < book1.page)
    {
        printf("%s %s %d", book3.language, book3.name, book3.page);
    }
    return 0;
}
目录
相关文章
|
2月前
|
存储 C语言
如何在 C 语言中实现结构体的深拷贝
在C语言中实现结构体的深拷贝,需要手动分配内存并逐个复制成员变量,确保新结构体与原结构体完全独立,避免浅拷贝导致的数据共享问题。具体方法包括使用 `malloc` 分配内存和 `memcpy` 或手动赋值。
43 10
|
2月前
|
存储 大数据 编译器
C语言:结构体对齐规则
C语言中,结构体对齐规则是指编译器为了提高数据访问效率,会根据成员变量的类型对结构体中的成员进行内存对齐。通常遵循编译器默认的对齐方式或使用特定的对齐指令来优化结构体布局,以减少内存浪费并提升性能。
|
2月前
|
编译器 C语言
共用体和结构体在 C 语言中的优先级是怎样的
在C语言中,共用体(union)和结构体(struct)的优先级相同,它们都是用户自定义的数据类型,用于组合不同类型的数据。但是,共用体中的所有成员共享同一段内存,而结构体中的成员各自占用独立的内存空间。
|
2月前
|
存储 C语言
C语言:结构体与共用体的区别
C语言中,结构体(struct)和共用体(union)都用于组合不同类型的数据,但使用方式不同。结构体为每个成员分配独立的内存空间,而共用体的所有成员共享同一段内存,节省空间但需谨慎使用。
|
2月前
|
编译器 C语言 C++
C语言结构体
C语言结构体
28 5
|
2月前
|
C语言
C语言结构体链式结构之有头单链表
文章提供了一个C语言实现的有头单链表的完整代码,包括创建链表、插入、删除和打印等基本操作。
30 1
|
2月前
|
C语言
初识C语言6——结构体
初识C语言6——结构体
18 3
|
2月前
|
存储 编译器 C语言
【C语言】探索结构体基础知识:简明概要
【C语言】探索结构体基础知识:简明概要
|
2月前
|
编译器 Linux C语言
C语言 之 结构体超详细总结
C语言 之 结构体超详细总结
21 0
|
2月前
|
存储 编译器 Linux
深入C语言:探索结构体的奥秘
深入C语言:探索结构体的奥秘