c语言里,能不能只交换一维数组第一个和最后一个元素的地址来实现交换这两个元素,其余不变
展开全部
如下:
#include<stdio.h>
int main(void)
{
int a[10],i,max,maxp,min,minp,t;
printf("请输入数组:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
minp=0;
for(i=1;i<10;i++)
{
if(a[i]<a[minp])
minp=i;
}
t=a[9];
a[9]=a[minp];
a[minp]=t;
maxp=0;
for(i=1;i<10;i++)
{
if(a[i]>a[maxp])
maxp=i;
}
t=a[0];
a[0]=a[maxp];
a[maxp]=t;
printf("输出:\n");
for(i=0;i<10;i++)
{
printf("%8d",a[i]);
if((i+1)%5==0)
printf("\n");
}
return 0;
}
#include<stdio.h>
int main(void)
{
int a[10],i,max,maxp,min,minp,t;
printf("请输入数组:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
minp=0;
for(i=1;i<10;i++)
{
if(a[i]<a[minp])
minp=i;
}
t=a[9];
a[9]=a[minp];
a[minp]=t;
maxp=0;
for(i=1;i<10;i++)
{
if(a[i]>a[maxp])
maxp=i;
}
t=a[0];
a[0]=a[maxp];
a[maxp]=t;
printf("输出:\n");
for(i=0;i<10;i++)
{
printf("%8d",a[i]);
if((i+1)%5==0)
printf("\n");
}
return 0;
}
追问
如数组元素是1 2 3 4,但我想把元素1和4的地址换一下,只换地址,变成4 2 3 1,
你说的那个minp是int型,不是int *啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
感觉是可以,打印出来看看啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询