本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按要求输出指定的数组元素。
输入格式:
在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。第三行输入一个非负整数m(m<n)。
输出格式:
在一行中输出逆序存放后下标为m的数组元素。行末无空格。
输入样例:
6
10 8 1 2 3 4
2
输出样例:
#include <stdio.h>
int main() {
int n, s, m, k;
int i = 0;
scanf("%d", &n);
int a[10]; // 假设数组大小足够,因为n的范围是1到10
// 读取n个整数到数组a中
while (i < n && (s = scanf("%d", &a[i])) == 1) {
i++;
}
if (s != 1) {
// 如果读取失败,输出错误信息并退出
printf("Error: Invalid input for integers.\n");
return 1;
}
// 逆序数组
int temp;
for (int j = 0; j < n / 2; j++) {
temp = a[j];
a[j] = a[n - 1 - j];
a[n - 1 - j] = temp;
}
// 读取m值
scanf("%d", &m);
if (m < 0 || m >= n) {
// 如果m不在有效范围内,输出错误信息并退出
printf("Error: Invalid index m.\n");
return 1;
}
// 输出逆序后数组中下标为m的元素
k = a[m];
printf("%d\n", k);
return 0;
}