数据结构上机1

1、题目: 将1~10存入数组a[10],并将其逆序输出

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
//(1) 将1~10存入数组a[10],并将其逆序输出

#include <stdio.h>

int main() {
    int a[10];
    // 将1到10存入数组a[10]
    for (int i = 0; i < 10; i++)
    {
        a[i] = i + 1;
    }
    // 逆序输出数组a[10]
    printf("逆序输出数组:\n");
    for (int i = 9; i >= 0; i--) 
    {
        printf("%d ", a[i]);
    }
    return 0;
}

结果展示:

2、题目://(2) 用指针方式编写程序:从键盘输入10个整型数据并存入数组,要求将10个数中最大的数与第一个输入的数交换;将10个数中最小的数与最后的一个输入的数交换。

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
//(2) 用指针方式编写程序:从键盘输入10个整型数据并存入数组,
//    要求将10个数中最大的数与第一个输入的数交换;将10个数中最小的数与最后的一个输入的数交换。
#include <stdio.h>

void swap(int* a, int* b) 
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() 
{
    int arr[10];

    printf("请输入10个整型数据:\n");
    for (int i = 0; i < 10; i++)
    {
        scanf("%d", &arr[i]);
    }

    int* max = arr;
    int* min = arr;

    // 寻找最大和最小值的指针
    for (int i = 1; i < 10; i++) 
    {
        if (arr[i] > *max) 
        {
            max = &arr[i];
        }
        if (arr[i] < *min) 
        {
            min = &arr[i];
        }
    }

    // 交换最大值和第一个输入的值
    swap(max, &arr[0]);

    // 交换最小值和最后一个输入的值
    swap(min, &arr[9]);

    printf("交换后的数组:\n");
    for (int i = 0; i < 10; i++) 
    {
        printf("%d ", arr[i]);
    }

    return 0;
}

结果展示:

3、题目://(3) 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩、平均分。
要求:从键盘依次输入5个学生的学号、姓名、三门课的成绩,自动计算三门课的平均分,并将5个学生的数据在屏幕上输出。

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
//(3) 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩、平均分。
//要求:从键盘依次输入5个学生的学号、姓名、三门课的成绩,自动计算三门课的平均分,并将5个学生的数据在屏幕上输出。

#include <stdio.h>

// 结构体定义:学生信息
struct Student 
{
    int student_id;
    char name[50];
    float scores[3];
    float average_score;
};

int main() 
{
    struct Student students[5];
    printf("请输入5个学生的信息:\n");

    // 输入学生信息
    for (int i = 0; i < 5; i++) 
    {
        printf("学生%d的学号: ", i + 1);
        scanf("%d", &students[i].student_id);

        printf("学生%d的姓名: ", i + 1);
        scanf("%s", students[i].name);

        printf("学生%d的三门课成绩(用空格分隔): ", i + 1);
        for (int j = 0; j < 3; j++) 
        {
            scanf("%f", &students[i].scores[j]);
        }

        // 计算平均分
        float sum = 0;
        for (int j = 0; j < 3; j++) 
        {
            sum += students[i].scores[j];
        }
        students[i].average_score = sum / 3;
    }

    printf("\n学生信息如下:\n");

    // 输出学生信息
    for (int i = 0; i < 5; i++) 
    {
        printf("学号: %d\n", students[i].student_id);
        printf("姓名: %s\n", students[i].name);
        printf("三门课成绩: %.2f, %.2f, %.2f\n", students[i].scores[0], students[i].scores[1], students[i].scores[2]);
        printf("平均分: %.2f\n", students[i].average_score);
        printf("\n");
    }

    return 0;
}

结果展示:

希望对你有所帮助

相关推荐
从此不归路2 分钟前
Qt5 进阶【9】模型-视图框架实战:从 TableView 到自定义模型的一整套落地方案
开发语言·c++·qt
芯思路3 分钟前
STM32开发学习笔记之七【LCD显示图片】
笔记·stm32·学习
软件算法开发3 分钟前
基于卷尾猴优化的LSTM深度学习网络模型(CSA-LSTM)的一维时间序列预测算法matlab仿真
深度学习·算法·matlab·lstm·一维时间序列预测·卷尾猴优化·csa-lstm
问道飞鱼6 分钟前
【大模型学习】提示词工程(Prompt Engineering)技术深度报告
学习·prompt·提示词
hssfscv8 分钟前
Javaweb学习笔记——后端实战7 springAOP
笔记·后端·学习
来两个炸鸡腿8 分钟前
【Datawhale组队学习202601】Base-NLP task06 大模型训练与量化
人工智能·学习·自然语言处理
消失的旧时光-19438 分钟前
第九课实战版:异常与日志体系 —— 后端稳定性的第一道防线
java·后端
bylander9 分钟前
【AI学习】TM Forum自智网络L4级标准体系
人工智能·学习·智能体·自动驾驶网络
高洁0110 分钟前
知识图谱如何在制造业实际落地应用
深度学习·算法·机器学习·数据挖掘·知识图谱
BHXDML13 分钟前
数据结构:(二)逻辑之门——栈与队列
java·数据结构·算法