将一个整型数组中的元素循环向右移动一个位置
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;
通过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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
}
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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询