c语言中,一维数组元素递进交换位置,程序怎么编?如12345变为23451,进一步

2021-07-21 03:31:33 字数 1444 阅读 1148

1楼:匿名用户

#include

intmain()

inti,temp,n=0;

inta[5]=;

while(1)

for(i=0;i<5;i++)printf("%d",a[i]);

printf("\n");

temp=a[0];

for(i=0;i<4;i++)a[i]=a[i+1];

a[i]=temp;

if(n==5)

break;

n++;

system("pause");

return0;

我只让他循环了5次没无限制的循环你看看行不行输出结果为

2楼:匿名用户

#include

void main()

//输入数组

for(k=0;k==i;k++)//输出行数循环//完成位置交换}}

3楼:xz宏定义

由于数组下标默认是0开始的。n个数组的下标是从0到n-1if n mod=0 then '即数组个数为偶数个for i=0 to n/2-1

temp=a(i)

a(i)=a(n-i-1)

a(n-i-1)=temp

next i

else '数组为奇数个,那么中间一个,不需要交换for i=0 to (n-1)/2-1

temp=a(i)

a(i)=a(n-i-1)

a(n-i-1)=temp

next i

end if

如果下标从1开始,那么交换的就是a(i)与a(n+1-i),**变成:

if n mod=0 then '即数组个数为偶数个for i=1 to n/2

temp=a(i)

a(i)=a(n+1-i)

a(n+1-i)=temp

next i

else '数组为奇数个,那么中间一个,不需要交换for i=1 to (n-1)/2

temp=a(i)

a(i)=a(n+1-i)

a(n+1-i)=temp

next i

end if

4楼:匿名用户

需要一个额外的临时变量 比如b吧

b=a[0],a[0]=a[1]...a[5]=b;你也可以写成循环

5楼:爆点时间

调用数据库 把123456 调出重新定义为23451

6楼:小狗臂章

int c[5]=

int m;

c[0]=m;

for(i=0,i<4,i++)

c[i]=c[i+1];

c[4]=m;