c语言实现数组的逆置
获取一个数组
int a[10] = {0};
printf("请输入一组数字:\n");
for (int i = 0; i <10; ++i) {
scanf("%d",&a[i]);
}
printf("原数字顺序\n");
for (int i = 0; i < 10; ++i) {
printf("%d ",a[i]);
}
printf("\n");
实现数组逆置的思路:
1.找到数组的中间位置作为遍历长度
2.第一位和最后一位交换
int b = sizeof(a)/ sizeof(a[0]);//获取数组长度
for (int i = 0; i < b/2; ++i) {
temp = a[i];
a[i] = a[b-i-1];
a[b-i-1] = temp;
}
for (int i = 0; i < 10; ++i) {
printf("%d ",a[i]);
}
结果:
完整代码
#include <stdio.h>
int main(){
//逆置
int i,temp;
int a[10] = {0};
printf("请输入一组数字:\n");
for (int i = 0; i <10; ++i) {
scanf("%d",&a[i]);
}
printf("原数字顺序\n");
for (int i = 0; i < 10; ++i) {
printf("%d ",a[i]);
}
printf("\n");
printf("逆置后\n");
int b = sizeof(a)/ sizeof(a[0]);//获取数组长度
for (int i = 0; i < b/2; ++i) {
temp = a[i];
a[i] = a[b-i-1];
a[b-i-1] = temp;
}
for (int i = 0; i < 10; ++i) {
printf("%d ",a[i]);
}
return 0;
}