#include <stdio.h>
#define N 10
int main(int argc,char *argv[]){
int a[N],i,j,k;
printf("Befor:\n");
for(i=0;i<N;i++)
printf("%d ",a[i]=i+1);
for(j=N-1,i=0;i<j;i++,j--)
k=a[i],a[i]=a[j],a[j]=k;
printf("\nAfter: \n");
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
追问你这个个数定的是10位吧,超过十位就无效了。这个答案我看到过
追答看到过还问?把#define N 10改成#define N 1000不就1000个数了吗?你题目要求是“元素个数自定”,我定10个不行?#define N 10的意思不就是让“自定”吗!
追问运行后输入不是这样定义的,就是例如输入, 2 1 6 8 5 6返回6 5 8 6 1 2这个样子
追答那你为什么不在题目中说“长度由键盘输入”?
#include <stdio.h>
#include "stdlib.h"
int main(int argc,char *argv[]){
int n,*p,i,j,k;
printf("Input n(int n>0)...\nn=");
if(scanf("%d",&n)!=1 || n<1){
printf("Input error, exit...\n");
return 0;
}
if((p=(int *)malloc(sizeof(int)*n))==NULL){
printf("Application memory failure...\n");
return 0;
}
printf("Befor:\n");
for(i=0;i<n;printf("%d ",p[i]=1+i++));
for(j=n-1,i=0;i<j;i++,j--)
k=p[i],p[i]=p[j],p[j]=k;
printf("\nAfter: \n");
for(i=0;i<n;printf("%d ",p[i++]));
free(p);
printf("\n");
return 0;
}
追问![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/a6efce1b9d16fdfaf912dcd8be8f8c5494ee7b8d?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
不对啊
本回答被提问者和网友采纳