c语言如何利用指针将数组倒置输出

供稿:hz-xin.com     日期:2025-01-15
C语言如何利用指针,将数组倒置啊

#include void func(int *a,int n){ int *p,t; for(p=a+n-1;a<p;a++,p--) { t=*a; *a=*p; *p=t; }}int main(){ int a[10],i; for(i=0;i<10;++i) { scanf("%d",&a[i]); } func(a,10); for(i=0;i<10;++i) { printf("%d ",a[i]); } return 0;}

#include
int main()
{int a[10]={1,2,3,4,5,6,7,8,9,10},*p;
for(p=a+9;p>=a;p--)
printf("%d ",*p);
printf("
");
return 0;
}

定义两个指针,分别指向数组的首地址和尾地址,然后两个指针同时向中间移动直到相遇,同时每次移动将两指针指向地址的值进行交换,程序执行到最后数组里存储的值就会倒置

看说明书,上面会教你

编写一个函数,将二维数组(n*m)转置.在main函数中调用该函数并输出结果...
方法很多。看前面都有答了。就写个指针的方法:用指向指针的指针来实现倒置后的二维数组。倒置后原数组不变。include <stdio.h>#include <malloc.h>#define ROW 2#define CLO 3int **fzz(int a[][CLO]);void printfARR(int **arr);int main(){ int i,j,arr[ROW][CLO]={{1,2,3}...

c语言利用指针编写程序,将数组元素逆序输出
include<stdio.h> int main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p;for(p=a+9;p>=a;p--)printf("%d ",*p);printf("\\n");return 0;}

一个不知道错哪了的 C语言小程序,题目:用指针,对一位数组逆向输出
include <stdio.h> void inverse(float *p,int n){ float *q;p=q+n-1; \/\/这里错了哦 q没有指向任何值就使用了,这样写很危险 \/\/换成q = p+n-1 float t;while(p>q) \/\/这里错了哦 ,因为p指向数组的首元素,而q指向数组的尾元素 \/\/所以p不可能大于q,即既不会进入循环...

C语言:编写函数,用指针型形参访问数组,把给定数组转置,并给出运行截...
for(t=i=0;i<N;i++){\/\/给数组a赋值并输出 for(j=0;j<M;printf("%3d",a[i][j++]=++t));putchar('\\n');} myf(a,b,N,M);\/\/调用转置函数 puts("Transpose later:");for(i=0;i<M;i++){\/\/输出转置后的数组 for(j=0;j<N;printf("%3d",b[i][j++]));putchar('...

...一维整型数组a[5]={1,3,5,7,9}的元素倒置存放。(要求使用指针...
方法:用2个指针分别指向数组的头和尾,然后循环让两个指针往中间移动直到汇合。每次取除指针指向地址的值进行交换。(说明:在我的代码中^=的运算,只是一种交换值的写法,你也可以用常规的定义一个临时变量进行值的交换)。include <stdio.h> int main(){ int i,a[5]={1,3,5,7,9},*p0=a...

c语言利用数组指针的方法 输入5个数 反向输出
include<stdio.h>int main(){int a[5],*p; for(p=a;p=a;p--) printf("%d ",*p); return 0;}

C语言中,自定义一个含有5个元素的数组,使用指针输入元素的值,实现正序...
include<stdio.h> define N 5 void main() { int a[N],i,*p;p=a; for ( i=0;i<N;i++,p++ ) scanf("%d",p);p=a; for ( i=0;i<N;i++,p++ ) printf("%d ",*p); printf("\\n");p--; for ( i=0;i<N;i++,p-- ) printf("%d ",*p); printf("\\n");} ...

C语言,用指针实现倒序输出
楼主可能忘记了 数组的计数是从0开始的 如果有7 个数 那最后一个应该是 a[6]而且,string 类型有结束符 \/0 你打印 的 正是这个符号 你可以试试 p=&a[j-1];看看是不是可以打印出 t

利用指针实现将5个整数输入到数组a中,然后将a逆序复制到数组b中,并...
首先分析你的代码:include<stdio.h> void main(){ int a[5],b[5],*p;int i=0 ,j;p=a;printf("input 5 numbers :\\n");for(p=a;p<(a+5);p++){ scanf("%d",p);a[i]=*p;\/\/多余 i++;\/\/干吗的?} printf("\\n");for(j=4;j>0;j++)\/\/j++?就最大为5吧,应该j-...

C语言用指针调换数组元素
i;检查它是否小于当前的最小值min,如果是,则更新min和min_i。找到数组中的最大值和最小值及其索引后,我们调用swap函数来交换这两个值。最后,我们使用for循环遍历数组a,并通过printf函数将数组中的每个元素输出到标准输出。通过这种方法,我们可以轻松地使用指针在C语言中交换数组中的元素。