用c语言写∶输入n(1<=n<=10)和n个整数,逆序输出这n个整数 点击复制后,将打开C知道体验页 好
时间: 2023-04-08 08:02:51 浏览: 112
的,这个问题可以回答。以下是C语言代码:
#include <stdio.h>
int main() {
int n, i;
int arr[10];
printf("请输入n:");
scanf("%d", &n);
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("逆序输出:");
for (i = n - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
return 0;
}
相关问题
C语言输入一个正整数n(1<n <=10),再输入n个整数存入数 组a中,逆序存放,顺序输出。
好的,以下是对应的C语言代码实现:
```c
#include <stdio.h>
int main()
{
int n, a[10], i;
// 输入正整数n
do {
printf("请输入正整数n(1<n<=10):");
scanf("%d", &n);
} while (n <= 1 || n > 10);
// 输入n个整数存入数组a中
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 逆序存放
for (i = 0; i < n / 2; i++) {
int temp = a[i];
a[i] = a[n - i - 1];
a[n - i - 1] = temp;
}
// 顺序输出
printf("逆序存放后的结果为:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
输入格式为先输入n,再输入n个整数,例如:
```
请输入正整数n(1<n<=10):5
请输入5个整数:1 2 3 4 5
逆序存放后的结果为:5 4 3 2 1
```
用C语言写,输入n个整数存入一维数组,再逆序重新存放后输出,需要用到指针
以下是用指针实现逆序存放数组并输出的C语言代码:
```c
#include <stdio.h>
void reverse(int *arr, int n) {
int *p1 = arr; // 指向数组头部
int *p2 = arr + n - 1; // 指向数组尾部
while (p1 < p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main() {
int n;
printf("请输入数组元素个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("原始数组:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverse(arr, n);
printf("逆序后的数组:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
首先通过 `scanf` 函数读入数组元素个数和数组元素,然后通过指针实现数组元素的逆序存放,最后再通过循环输出逆序后的数组。