将自己学号后10个同学的学号(学号最后两位)存入数组(for循环实现,直接在程序中赋值,不用scanf读入),并将其逆序输出(for循环实现)。将第5个数与第9个数交换(用数组实现);将第6个数与第2个数交换(用指针实现)。
时间: 2024-09-06 15:05:55 浏览: 63
第二题_C语言程序_for循环语句使用_数组从键盘输入_
以下是使用C语言完成您提出的任务的示例代码:
```c
#include <stdio.h>
int main() {
// 假设学号后10位的数字从1到10
int student_ids[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int temp; // 用于交换的临时变量
// 逆序输出学生学号
printf("逆序输出学号:");
for (int i = 9; i >= 0; i--) {
printf("%d ", student_ids[i]);
}
printf("\n");
// 交换第5个数(下标为4)与第9个数(下标为8)
temp = student_ids[4];
student_ids[4] = student_ids[8];
student_ids[8] = temp;
// 使用指针交换第6个数(下标为5)与第2个数(下标为1)
int *ptr1 = &student_ids[5];
int *ptr2 = &student_ids[1];
temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
// 再次逆序输出交换后的学生学号
printf("交换后的逆序输出学号:");
for (int i = 9; i >= 0; i--) {
printf("%d ", student_ids[i]);
}
printf("\n");
return 0;
}
```
这段代码首先定义了一个包含10个学号的数组,然后使用for循环逆序输出这些学号。接着,通过下标直接交换数组中的第5个和第9个学号,再利用指针交换第6个和第2个学号的值。最后,再次逆序输出交换后的学号数组。
阅读全文