2016 - 2024

感恩一路有你

数组循环左移m位的算法 C语言,数组循环右移?

浏览量:2629 时间:2021-03-13 05:33:10 作者:admin

C语言,数组循环右移?

事实上,用一个变量保存第一个元素(如[0]),然后将后一个元素的值赋给前一个元素,最后将保存[0]的变量的值赋给最后一个元素非常简单。对于数组,应该使用双循环。外循环表示需要向左移动的次数,内循环表示将每个元素向左移动

程序如下:#include<stdio。H>#包括<stdlib。H> main(){int*a,N,N,I,J,TMP printf(“输入数组元素数:”))scanf(%d“,&n)a=(int*)malloc(sizeof(int)*N)printf(“输入数组元素:”)(I=0I<ni){scanf(%d”,&A[I]))printf(“输入循环移动的位数:”)scanf(%d“,&n)printf(“移位前组:”)(I=0I<ni){printf(%d”,a[I])}printf(“”“””)(I=0,j=n-1i<ji,j--){TMP=a[I]a[I]=a[j]a[j]=TMP}(I=0,j=n-1i<ji,j--){TMP=a[I]a[I]=a[j]=TMP}(I=n,j=n-1i<ji,J--){TMP=a[i]a[i]=a[J]a[J]=TMP}printf(“移位数组:”)for(i=0I<ni)){printf(%d”,a[i])}printf(“n”)free(a)}运行屏幕截图:

~]include<stdio。H>

#包括<conio。H>

#define n 10/*n是数组的最大可能值*/

int main(void)

{

]int a[n

]int temp

int i

for(i=0I< Ni)/*read in*/]{

scanf(%d”,&A[i

])temp=a[n-1]/*首先设置最后一项*/

for(i=n-2I>=0I--)/*put*/]{a[i1] =a[i

}]a[0]=temp/*将第一个值读入*/

for(i=0I< Ni)

{

printf(%dt“,a[i])

}]getch()]}

数组循环左移m位的算法 c语言结构体指针 c语言左移和右移

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。