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

 我来答
小安无敌yeah
2012-07-07 · TA获得超过972个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:128万
展开全部
其实很简单,将第一个比如a[0]用一个变量保存,然后将后一个元素的值赋给前一个,最后将保存a[0]的变量的值赋给最后一个元素,循环 。对于一个数组,应该用双重循环实现,外循环代表你需要左移的次数,内循环即将每一个元素左移
语寒雨涵
2012-07-07 · 超过15用户采纳过TA的回答
知道答主
回答量:47
采纳率:50%
帮助的人:24.5万
展开全部
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和数组的类型要相同,我没调试,你自己试试
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gAcHolic
2012-07-11 · 超过12用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:27万
展开全部
加一个辅助变量存放数组的第一个元素,之后从后往前,每一个元素用后一个替换,再把最后的元素用辅助变量替换。
没了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a1012144015
2015-05-15 · TA获得超过6415个赞
知道大有可为答主
回答量:9038
采纳率:40%
帮助的人:1356万
展开全部
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和数组的类型要相同,我没调试,你自己试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
修者世界
推荐于2017-10-06 · TA获得超过5852个赞
知道大有可为答主
回答量:5984
采纳率:61%
帮助的人:813万
展开全部
用一个循环就可以实现数组的循环左移:
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式