C语言问题 怎么实现一个数组循环左移

如题所述

其实很简单,将第一个比如a[0]用一个变量保存,然后将后一个元素的值赋给前一个,最后将保存a[0]的变量的值赋给最后一个元素,循环 。对于一个数组,应该用双重循环实现,外循环代表你需要左移的次数,内循环即将每一个元素左移
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-07
for(int i=0;i<M;i++) //M为循环左移的次数
{
b=a[0];
for(int j=0;j<N-1;j++) //N为数组元素个数

a[j]=a[j+1];

a[N]=b;
}
大概就是这个样子,注意b和数组的类型要相同,我没调试,你自己试试本回答被网友采纳
第2个回答  2012-07-11
加一个辅助变量存放数组的第一个元素,之后从后往前,每一个元素用后一个替换,再把最后的元素用辅助变量替换。
没了。
第3个回答  2015-05-15
for(int i=0;i<M;i++) //M为循环左移的次数
{
b=a[0];
for(int j=0;j<N-1;j++) //N为数组元素个数
{
a[j]=a[j+1];
}
a[N]=b;
}
大概就是这个样子,注意b和数组的类型要相同,我没调试,你自己试试
第4个回答  推荐于2017-10-06
用一个循环就可以实现数组的循环左移:
int i,n,temp;
int a[n];
temp=a[0];
for(i=0;i<n-1;i++)a[i]=a[i+1];
a[n-1]=temp;
相似回答