C语言大神快来帮忙,问题如下。

将一个数组中的元素逆序重新排列。数组中的元素用赋初值的方法在程序中给出。提示:如有一数组:134|568,将数组从中间一分为二的看待,将1和8交换,3和6交换,4和5交换... 将一个数组中的元素逆序重新排列。数组中的元素用赋初值的方法在程序中给出。

提示:如有一数组: 1 3 4 | 5 6 8,将数组从中间一分为二的看待,将1和8交换,3和6交换,4和5交换。交换后的数组就是一个逆序数组。运行时,分别测试数组长度为偶数,数组长度为奇数两种情况。我的编程是
#include <stdio.h>
#define N 9
void main()
{
int arr[N],i,j,t;
for(i=0;i<N;i++) {scanf("%d",&arr[i]);}
for(i=0;i<N/2;i++)
{
j=N-1-i;
arr[i]=t;
arr[i]=arr[j];
arr[j]=t;
}
printf("\n");
for(i=0;i<N;i++){printf("%d,",arr[i]);}
}

为啥不对啊???求请教。。。
展开
 我来答
紫薇参星
科技发烧友

2016-05-31 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3511万
展开全部

你的程序在数组交换值时,arr[i]=t;写错了,应该是t=arr[i];

完整的程序如下:(改动的地方见注释)

include <stdio.h>
#define N 9
void main()
{
 int arr[N],i,j,t;
 for(i=0;i<N;i++) {scanf("%d",&arr[i]);}
 for(i=0;i<N/2;i++)
 {
  j=N-1-i;
  t=arr[i];//这里改一下
  arr[i]=arr[j];
  arr[j]=t;
 }
 printf("\n");
 for(i=0;i<N;i++){printf("%d,",arr[i]);}
}
更多追问追答
追问
您好,请问那个define N 9是什么意思呢?这里我有点不懂。。
追答
定义一个等于9的常量N,意思就是说N是不变的常量,其值为9
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式