实现将一个数组中的数据按逆序重新存放.

2.程序功能:实现将一个数组中的数据按逆序重新存放。
例如:原来顺序是1、2、3、4、5,现在改为5、4、3、2、1,请填空。
#include"stdio.h"
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},k,t;
int *i,*j;
printf("原始数组:\n");
for(k=0;k<10;k++)
printf("%d ",a[k]);
for(i=a,j=&a[9]; [1] ;i++, [2] )
{ t=*i;
[3] ;
*j=t; }
printf("\n逆序存放后的数组:\n");
for(k=0;k<10;k++)
printf("%d ",a[k]);
printf("\n");
}

#include"stdio.h"

void main()

   int a[10]={1,2,3,4,5,6,7,8,9,10},k,t;

   int  *i,*j;

 printf("原始数组:\n");

 for(k=0;k<10;k++)

    printf("%d  ",a[k]);

 for(i=a,j=&a[9];*j-*i-1>0;i++,j--)

   {    t=*i;    

        *i=*j;

        *j=t;  

       

   }

 printf("\n逆序存放后的数组:\n");

 for(k=0;k<10;k++)

   printf("%d  ",a[k]);

 printf("\n");

}


输出结果:

#include"stdio.h"

void main()

   int a[10]={1,2,3,4,5,6,7,8,9,10},k,t;

   int  *i,*j;

 printf("原始数组:\n");

 for(k=0;k<10;k++)

    printf("%d  ",a[k]);

 for(i=a,j=&a[9];*j-*i-1>0;i++,j--)

   {    t=*i;    

        *i=*j;

        *j=t;  

       

   }

 printf("\n逆序存放后的数组:\n");

 for(k=0;k<10;k++)

   printf("%d  ",a[k]);

 printf("\n");

}

#include"stdio.h"

void main()

   int a[10]={1,2,3,4,5,6,7,8,9,10},k,t;

   int  *i,*j;

 printf("原始数组:\n");

 for(k=0;k<10;k++)

    printf("%d  ",a[k]);

 for(i=a,j=&a[9];*j-*i-1>0;i++,j--)

   {    t=*i;    

        *i=*j;

        *j=t;  

       

   }

 printf("\n逆序存放后的数组:\n");

 for(k=0;k<10;k++)

   printf("%d  ",a[k]);

 printf("\n");

}

温馨提示:内容为网友见解,仅供参考
无其他回答

编一个程序,将!dlrow olleh按逆序重新存放在原数组,形成hello world...
include <stdio.h>#include <string.h>#define N 256 int main() { char arr[N],brr[N]; int i=0,n; gets(arr);\/\/输入\/\/ puts(arr); n=strlen(arr); while(i!=n){ \/\/将数组arr内容逆序复制到brr中 brr[i]=arr[n-1-i]; ++i; } brr[i]='\\0'...

c语言编程:将一个数组中的值按逆序重新存放,例如,原来顺序为8,6,5...
1、首先以一个数组变量和一个数组长度变量。2、接下来假设有一个数组交换的函数和一个输出的函数。3、接下来我们开始编写逆序交换。4、此时,我们开始swap交换函数。5、然后我们定义函数声明。6、然后再编写输出函数就可以了,全部代码如图。

编写程序将一个数组中的数按逆序重新存放并输出(程序中数组的元素个数...
\/\/ 将原a[i]中的数据(即temp),存放到i的对称点a[n-1-i]a[n-1-i]=temp;} \/\/ 重新输出数组 for(int i=0;i<n;i++){ printf("%d\\t",a[i]);} } 直接计数 计算一个排列的逆序数的直接方法是逐个枚举逆序,同时统计个数。例如在序列 { 2, 4, 3, 1 } 中,逆序依次为 (2...

将一个数组中的值按逆序重新存放.例如,原来的顺序为8,6,5,4,1.要求...
int main(){ int a[20]={1,0},i,n,j;printf("请输入数组元素的个数:");scanf("%d",&n);printf("请输入数组元素:\\n");for(i=0;i<n;i++)scanf("%d",&a);for(i=0;i<n\/2;i++)a=a[n-1-i];printf("逆序存放后的数组:\\n");for(i=0;i<n;i++)printf("%d",a)...

C语言编写程序,将一个一维数组的值按逆序重新存放。
include<stdio.h> int main(){ int a[5]={8,6,5,4,1},i,n=5,temp;for(i=0;i<n\/2;i++){ temp=a[i];a[i]=a[n-i-1];a[n-i-1]=temp;} for(i=0;i<n;i++){ printf("%d\\t",a[i]);} system("pause");return 0;} ...

用C语言:将一个数组中的值按逆序重新存放
printf("array a:\\n");for (i = 0; i < 5; i++) \/*将数组中的元素逐个输出*\/ printf("%d ", a[i]);printf("\\n");for (i = 0; i < 2; i++) \/*将数组中元素的前后位置互换*\/ { temp = a[i]; \/*元素位置互换的过程借助中间变量temp*\/ a[i] = a[4-i...

将一个数组的值按逆序重新存放,例如,原来顺序为:8,6,5,4,1。要求改为...
include<stdio.h> int main(){ int a[5]={8,6,5,4,1},i,n=5,temp;for(i=0;i<n\/2;i++){ temp=a[i];a[i]=a[n-i-1];a[n-i-1]=temp;} for(i=0;i<n;i++){ printf("逆序后:\\n");printf("%d\\t",a[i]);} return 0;} ...

如何将一个数组的值按逆序重新存放于原数组中,并输出。例如:原来顺序为...
其中↹表示交换:i=0,a[0] ↹ a[9]i=1,a[1] ↹ a[8]i=2,a[2] ↹ a[7]i=3,a[3] ↹ a[6]i=4,a[4] ↹ a[5]如果数组元素个数为奇数,则n\/2会丢弃小数,因此中间元素不会交换,所以不需要另外处理。这是最快的逆序算法。

. 把一个数组中的值按逆序重新存放.如:原来顺序为8,6,5,4,1,要求改...
include <stdio.h>#define MAX 3int main(void){ int a[MAX],i,j,t; for(i=0;i<MAX;i++) scanf("%d",&a[i]); for(j=MAX-1,i=0;i<j;i++,j--){ t=a[i]; a[i]=a[j]; a[j]=t; } for(i=0;i<MAX;printf("%d\\t",a[i++])...

运用C程序将一个整型数组中的值按逆序重新存放。例如9、8、6、5、4...
include<stdio.h> int main(){int i,j,t,a[10]={1,2,3,4,5,6,7,8,9,10};for(i=0,j=9;i<j;){t=a[i]; a[i++]=a[j]; a[j--]=t;} printf("逆置后:\\n");for(i=0;i<10;i++)printf("%d ",a[i]);return 0;} ...

相似回答