/********************************
程序来源:董老师一本通
章 节:5.1 一维数组
程序名称:第五章 数组 80页
*******************************/
/********************************
* 程序名称:自由输入数据
* 作 者:tiaya@qq.com
* 功能实现:(例5.2-2)将a数组中的第一个元素移动末尾,其余数据依次往前平移一个位置。
* 开发时间:2020- -
* 版 本:v1.0
* 运行测试:通过
* 版本差异:无
*******************************/
//#include <bits/stdc++.h> //万能头文件,不建议使用
#include <iostream>
using namespace std;
const int SIZE = 5; //定义数组大小
//main() star
int main() {
//(一) 分析问题:
//已知:数组a[]
/*求解:将a[0]移动至末尾,将其他元素依次前移一位
a[5] = {1,2,3,4,5} -> a[5] = {5,1,2,3,4}
*/
//(二) 数据定义
int a[SIZE] = {}; //全部初始化为0
//(三) 输入数据
cout <<"输入5个数据,一行一个或一行多个,空格隔开:\n";
for(int i=0; i<SIZE; i++) {
cin >>a[i];
}
//数据输出
cout <<"输入的数据是:";
for(int i=0; i<SIZE; i++) {
cout << a[i] <<" ";
}
cout << endl;
//(四) 数据计算
int temp = a[0]; //1.暂存数组第一项的值
for(int i=0; i<SIZE; i++) {
a[i] = a[i+1]; //3.依次移动中间项
}
a[SIZE-1] = temp; //2.最后一项
//(五) 输出结果
int n = 0;
cout <<"移动后输出:";
while(n<SIZE) {
cout << a[n++] <<" ";
}
return 0;
}
测试:
/************************************************
输入数据,一行一个:
10 9 8 1000 23 15 321
移动后输出:9 8 1000 23 10
--------------------------------
Process exited after 8.535 seconds with return value 0
请按任意键继续. . .
************************************************/
网友评论