将a数组中的第一个元素移到数组末尾,其余数据依次往前平移一个位置。(输入说明:输入数据不超过10)
供参考:
#include <stdio.h>
int main()
{
int a[10]={0},i,t,n=0;
while(scanf("%d",&a[n])==1 && ++n < 10);//ctrl+z 结束输入
for(i=1,t=a[0];i<n;i++)
a[i-1] = a[i];
a[i-1] = t;
printf("Result:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
这样不移动的话可能更省时间
#include<iostream>
using namespace std;
int main()
{
int a[10],t=0,n=1;
for (int i = 0; i < 10; i++)
{
if (i == 0)
cin >> t;
else
{
cin >> a[i-1];
n++;
}
if (getchar() == '\n')
{
a[i] = t;
break;
}
}
for (int i = 0; i < n;i++)
cout << a[i];
}