用c语言解决:从键盘输入n个整数存入一维数组中,再将其中的数逆序输出。
时间: 2023-03-31 17:03:49 浏览: 249
可以使用以下代码实现:
#include <stdio.h>
int main() {
int n, i;
printf("请输入整数个数n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (i = ; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("逆序输出:");
for (i = n - 1; i >= ; i--) {
printf("%d ", arr[i]);
}
return ;
}
相关问题
C语言从键盘输入n个整数存入一维数组中,然后将数组元素的值逆序输出。 输入格式: 第一行输入整数个数n; 第二行输入n 个整数,数据之间以空格隔开。 输出格式: 逆序输出数组元素的值,每个数据之后跟一个空格。
下面是一份简单的C语言代码实现:
```c
#include <stdio.h>
int main()
{
int n;
printf("请输入整数个数n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
printf("数组逆序输出为:");
for (int i = n - 1; i >= 0; i--)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
代码思路:
1. 首先读入整数个数n。
2. 然后定义一个长度为n的整型数组arr。
3. 接着读入n个整数存入数组arr中。
4. 最后逆序输出数组元素的值。
注意事项:
1. 数组的长度n要在运行时动态分配,需要使用变长数组或动态内存分配。
2. 数组逆序输出时,循环条件为i >= 0。
用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` 函数读入数组元素个数和数组元素,然后通过指针实现数组元素的逆序存放,最后再通过循环输出逆序后的数组。
阅读全文