多组测试数据,第一行输入数据组数t,每组数据先输入一个整数n,再输入n个整数,对于每组数据按照输入相反的顺序输出
时间: 2024-11-30 15:29:22 浏览: 67
这是一个典型的数组反转问题,通常可以通过两个指针从两端开始遍历数组并交换元素来实现。以下是一个简单的C语言程序,它接受用户输入的数据,然后按照相反的顺序输出:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int t, n, arr[MAX_SIZE];
// 获取测试数据组数
scanf("%d", &t);
while (t--) {
// 对于每一组数据
scanf("%d", &n); // 输入数组长度
for (int i = 0; i < n; ++i) {
scanf("%d", &arr[i]); // 输入数组元素
}
// 反转数组
for (int start = 0, end = n - 1; start < end; ++start, --end) {
int temp = arr[start]; // 临时保存起始位置的元素
arr[start] = arr[end]; // 将结束位置的元素移到起始位置
arr[end] = temp; // 将临时变量的值放回结束位置
}
// 输出反转后的数组
printf("Reversed array for this group: ");
for (int i = 0; i < n; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
}
return 0;
}
```
当你运行这个程序时,它会提示用户输入测试数据组数(t),然后对每一组数据执行输入、反转和输出操作。
阅读全文