#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;
}
c语言作业1
最新推荐文章于 2024-09-27 23:54:01 发布