【问题描述】编写程序,将一个数组中的数循环左移。注意:要让数组元素的值真正发生改变,而不是通过调整输出顺序实现。
【输入形式】输入分2行:第一行为n的值,第二行为n个数。
【输出形式】循环左移以后的n个数
【输入】
5
1 5 3 2 0
【输出】
5 3 2 0 1
【说明】输入完成后,数组中保存的数列是1、5、3、2、0,经过循环左移操作后,数组中的数列变为:5、3、2、0、1
以下为相关代码:
#include<iostream>
using namespace std;
int main()
{
int a[100],n,i,t;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
//中间变量交换法
t=a[0];
for(i=0;i<n-1;i++)
{
a[i]=a[i+1];
}
a[n-1]=t;
for(i=0;i<n;i++)
{
cout<<a[i]<< " ";
}
return 0;
}
以上就是关于数组习题循环左移1位的全部内容,系小编个人见解,如有歧义欢迎评论或私信讨论。
感谢观看,尊重原创!