View Code
/*
10.4数组中有10个整数,使前面各数顺序向后移m个位置,
最后m个数变成前面m个数,见图。
写一函数:实现以上功能,在主函数中输入数m(m<10)和输出调整后的10个数。
*/
#include<stdio.h>
#include<string.h>
#define N 10
void shift(float *p,int x)
{
float a[N]={1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0},*q,*o;
int i;
o=a;
q=p;
for(i=0;i<x;i++)
*(q+N-x+i)=*(o+i);
for(p=p+N-1-x,i=0;p>=q;p--,i++)
*p=*(o+N-1-i);
return;}
void main()
{
float shuzhu[N],*u,*v;
int m;
u=v=shuzhu;
scanf("%d",&m);
shift(v,m);
for(u=v;u<v+N;u++)
printf("%.2f ",*u);
printf("\n");
}

浙公网安备 33010602011771号