用C语言编写程序,输入10个整数存放在数组a中,然后将这10个数原地逆序存放在数组a中后输出,要求程序中不能使用两个数组。 【输入形式】 顺序输入10个整数,其间以1个空格分隔。 【输出形式】 逆序输出10个数,其间以1个空格分隔。 输入:1 2 3 4 5 6 7 8 9 10 输出结果为: 10 9 8 7 6 5 4 3 2 1
时间: 2023-06-16 18:06:41 浏览: 72
以下是用C语言编写的程序:
```c
#include <stdio.h>
int main() {
int a[10];
int i, temp;
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < 5; i++) {
temp = a[i];
a[i] = a[9 - i];
a[9 - i] = temp;
}
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
程序首先定义了一个长度为10的整型数组a,然后使用for循环从标准输入读入10个整数并存放在数组a中。接着使用for循环将数组a中的元素原地逆序存放,具体方法是:将第i个元素和第10-i个元素交换。最后使用for循环逆序输出数组a中的元素。
相关问题
编写程序,输入10个整数存放在数组a中,然后将这10个数原地逆袭存放在数组a中后输出c语言
在C语言中,你可以通过两层循环来实现数组的原地逆序操作。以下是一个简单的示例代码:
```c
#include <stdio.h>
void reverse(int arr[], int size) {
int start = 0; // 从数组开始位置
int end = size - 1; // 从数组结束位置
while (start < end) { // 当起始位置小于结束位置时继续交换
// 交换arr[start]和arr[end]
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++; // 向右移动起始位置
end--; // 向左移动结束位置
}
}
int main() {
int a[10]; // 定义一个可以存储10个整数的数组
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
// 反转数组
reverse(a, 10);
printf("逆序后的数组:");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]); // 输出每个元素
}
return 0;
}
```
在这个程序中,`reverse()`函数用于原地逆序数组,`main()`函数负责接收用户输入并显示结果。运行这个程序,它会先提示用户输入10个整数,然后逆转并输出它们。
C语言编写程序,输入6个整数存入数组中,按输入顺序的逆序存放在该数组中并输出
以下是C语言程序实现:
```c
#include <stdio.h>
int main() {
int arr[6];
int i;
// 输入6个整数存入数组中
printf("请输入6个整数:\n");
for (i = 0; i < 6; i++) {
scanf("%d", &arr[i]);
}
// 按输入顺序的逆序存放在该数组中
for (i = 0; i < 3; i++) {
int temp = arr[i];
arr[i] = arr[5 - i];
arr[5 - i] = temp;
}
// 输出反转后的数组
printf("反转后的数组为:");
for (i = 0; i < 6; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序中,我们首先定义了一个长度为6的整型数组`arr`,并通过for循环读取6个整数并存储到该数组中。接下来,我们使用for循环反转数组元素的顺序。最后,我们输出反转后的数组元素。
阅读全文