有n个整数,使前面 各数顺序向后移m个位 置,移出的数再从开头 移入

来源:互联网 发布:c语言获取开机时间 编辑:程序博客网 时间:2024/06/05 02:50
/*有n个整数,使前面各数顺序向后移m个位置,移出的数再从开头移入*//*思路:每次  先保存最后一个,再把前面n-1个从最后一个开始,赋值到下一个位置,再把第一个位置赋值为(保存的最后一个)。*/#include <stdio.h>#include <stdlib.h>void sort(int p[],int n,int m){    int i,j,number;    for(i=1;i<=m;i++){        number=p[n-1];        for(j=n-2;j>=0;j--)            p[j+1]=p[j];        p[0]=number;    }}int main(){    int *p;    int n,m,i;    printf("Give n and m:");    scanf("%d%d",&n,&m);    p=(int *)malloc(n*sizeof(int));    for(i=0;i<=n-1;i++)        scanf("%d",p+i);    sort(p,n,m);    printf("After sorted:");    for(i=0;i<=n-1;i++)        printf("%-4d",p[i]);    return 0;}

0 0
原创粉丝点击