c语言作业1

	#include <stdio.h>
    #include <stdlib.h>
    #include <iostream> // 用于输入输出
    #include <cstring>  // 用于 strcpy 函数
typedef struct {
    int id;
    char name[20];
    float score;
} Student;
int main() {
    // 学号后两位
    int studentNum[] = {34, 35, 36, 37, 38, 39, 40, 41, 42, 43};
    int n = sizeof(studentNum) / sizeof(studentNum[0]);
    // 逆序输出
    printf("逆序学号后两位:\n");
    for (int i = n - 1; i >= 0; i--) {
        printf("%d ", studentNum[i]);
    }
    printf("\n");
 
    // 交换第5个数与第9个数(数组索引从0开始,所以是4和8)
    int temp = studentNum[4];
    studentNum[4] = studentNum[8];
    studentNum[8] = temp;
 
    // 使用指针交换第6个数与第2个数(索引为5和1)
    int *p1 = &studentNum[5];
    int *p2 = &studentNum[1];
    int temp2 = *p1;
    *p1 = *p2;
    *p2 = temp2;
 
    // 输出交换后的数组
    printf("交换后的学号后两位:\n");
    for (int i = 0; i < n; i++) {
        printf("%d ", studentNum[i]);
    }
    printf("\n");
	    Student students[40]; // 定义40个学生的结构体数组
 
    // 直接给前三个学生赋值
    students[0].id = 2023029133;
    strcpy(students[0].name, "ChenZhiYu");
    students[0].score = 100.0;
 
    students[1].id = 2023029134;
    strcpy(students[1].name, "ZhangYueYang");
    students[1].score = 92.0;
 
    students[2].id = 2023029135;
    strcpy(students[2].name, "ShengJiaJun");
    students[2].score = 88.5;
 
    // 输出三个学生的数据
    printf("前三个学生的信息:\n");
    for (int i = 0; i < 3; i++) {
        printf("学号:%d, 姓名:%s, 成绩:%.2f\n", students[i].id, students[i].name, students[i].score);
    }
 
    // 计算平均成绩(此处直接在main中计算,但可封装到函数中)
    float sum = 0.0;
    for (int i = 0; i < 3; i++) {
        sum += students[i].score;
    }
    float avg = sum / 3;
    printf("平均成绩:%.2f\n", avg);
    system("pause");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值