将一个整型数组中的元素循环向右移动一个位置

 我来答
ning1men
2012-05-05 · 超过11用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:28.3万
展开全部
思想:用变量u保存a[0],
通过while函数,变量t保存a[i+1],a[i+1]被u取代,再通过变量t将a[i+1]的原值保存在u中进行下一步循环
循环结束后,将u的值赋给a[0],程序结束
(语言表达能力不强,不明白请看下面程序)
int a[9]={1,2,3,4,5,6}
int t,u,i=0;
u=a[0];
while(a[i+1]!=0 && i<9)
{
t=a[i+1];
a[i+1]=u;
u=t;
i++;
}
a[0]=u;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lipguti
2012-05-05
知道答主
回答量:31
采纳率:0%
帮助的人:20.2万
展开全部
int he[20];
int a = he[0] ;
int b = he[0];
for(int i=0;i<=20;i++)
{
if(i==0)
{
a = he[0];
he[0] = he[20];
a = b;
}
else
{
a = he[i];
he[i] = b;
b = a;

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
54leexoo
2012-05-06 · TA获得超过211个赞
知道答主
回答量:55
采纳率:100%
帮助的人:66.2万
展开全部
ning1men只用了一个辅助变量
lipguti还使用了相同大小的一个辅助空间
使用辅助空间,可以借用库函数memcpy写出更简洁的代码
在vc6下调试通过,代码如下:
#include<iostream>
using namespace std;

#define COUNT 4
int main()
{
int a[COUNT] = {1,2,3,4};
int b[COUNT] = {0};

memcpy( &(b[1]), a, sizeof(int)*(COUNT-1) ); //将a前面COUNT-1个元素拷贝到b[1]开始的位置
b[0] = a[COUNT-1]; //将a最后一个元素给b[0]

/////以下代码仅用来打印显示是否移动成功
int i = 0;
for(i=0; i<COUNT; i++)
{
cout<<a[i]<<" ";
}
cout<<endl;

for(i=0; i<COUNT; i++)
{
cout<<b[i]<<" ";
}
cout<<endl;
/////

return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式