用C语言将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1.要求改为1,4,5,6,8.
7个回答
展开全部
在做这题前,建议用自己的语言描述和推演出,怎样调换数组的数据会更快;
#include <stdio.h>
#define N 5//此处N的值可以取任意数值,以此改变数组的值个数
int main()
{
int a[N],i,temp=0;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N/2;i++)//注意i只需要进行到一半,就能实现数组数值的全调换;如果i一直变化至N,会出现两次调换,数组的内容不改变
temp=a[i],a[i]=a[N-i-1],a[N-i-1]=temp;
for(i=0;i<N;i++)
printf("%d ",a[i]);
return 0;
}
重点:i的取值范围
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
main(){
int a[10] = {1,2,3,4,8,9,10,20,30,50},i,t,n=10;
for(i=0;i<n;i++) printf("%d ",a[i]);
printf("\n");
for(i=0;i<n/2;i++){ //首尾交换
t = a[i];
a[i] = a[n-i-1];
a[n-i-1] = t;
}
printf("数组倒序之后为:\n");
for(i=0;i<n;i++) printf("%d ",a[i]);
return 0;
}
main(){
int a[10] = {1,2,3,4,8,9,10,20,30,50},i,t,n=10;
for(i=0;i<n;i++) printf("%d ",a[i]);
printf("\n");
for(i=0;i<n/2;i++){ //首尾交换
t = a[i];
a[i] = a[n-i-1];
a[n-i-1] = t;
}
printf("数组倒序之后为:\n");
for(i=0;i<n;i++) printf("%d ",a[i]);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询