程序运行结果示例:
Input n:8
Input 8 numbers:1 2 3 4 5 6 7 8
8 1 2 3 4 5 6 7
输入提示信息:"Input n:","Input %d numbers:"(%d为n的值)
输出格式:"%4d",所有数据输出后回车
程序运行结果示例:
Input n:8
Input 8 numbers:1 2 3 4 5 6 7 8
8 1 2 3 4 5 6 7
输入提示信息:"Input n:","Input %d numbers:"(%d为n的值)
输出格式:"%4d",所有数据输出后回车
一个实现,供参考:
#include <stdio.h>
int main(void){
int a[10]; //因为数组的长度不超过10,所以定义数组a为11个整数长度就可以了。
int i;
int n;
printf("Input n:");
scanf("%d",&n);
printf("Input %d numbers:",n);
//获取输入到数组a
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
int *p=a;
int j;
int temp=*(p+i-1); //保存最后一个元素的位置
//利用指针将数组a的元素往后移动一个位置
for(j=i-1;j>0;j--){ //从后往前逐个复制其值,达到数组元素往后移动一个位置的目的
*(p+j)=*(p+j-1);
}
*(p+j)=temp; //把最后一个元素移动到第一个元素
int k;
for(k=0;k<n;k++){
printf("%4d",a[k]);
}
return 0;
}