首页 > 用户发贴区 > 编程问题提问区 > n个数前后排序问题!
2008
01-26

n个数前后排序问题!

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数!!我的代码如下:


#include “Stdio.h”
#define size 5
void deal(int *parr[],int n,int m);
void input(int *arr1[],int x,int arr[]);
void output(int *parr[]);
int main(void)
{
  int *parr[size];
 int arr[size];
 int m;
 int i;
 /*给数组负值*/
 printf(“please input %d data:”,size);
 for(i=0;i<size;i++)
 scanf(“%d”,arr+i);
 /* 要处理的个数 */
 printf(“please input you want to:”);
 scanf(“%d”,&m);
 /* 处理过程 */
 input(parr,size,arr);
 deal(parr,size,m);
 output(parr);
 getch();
}
 void input(int *arr1[],int x,int arr[])
{
    int i;
    for(i=0;i<x;i++)
        *(arr1+i)=arr+i;
}
void deal(int *parr[],int n,int m)
{
    int k,j,i;
    int **pparr[size];
    k=j=m;
    for(i=0;i<j;i++) //先处理前M个数
    **(pparr+i)=parr+(n-m–);
    for(i=0;i<k;i++)  //再处理后N-M个数
    **(pparr+j++)=parr+i;
}
void output(int *parr[])
{
    int i;
    for(i=0;i<size;i++)
        printf(“%3d”,**(parr+i));
}


我想是DEAL()出问题了,但有不只怎样改,我想改变指针数组的元素的指向,不知道用什么办法好!!请大虾们指教!!
   


n个数前后排序问题!》有 6 条评论

  1. wfnh 说:

    没人吗?

     

  2. 天马行空 说:

    我对你的题目很感兴趣,麻烦你把你的题目说清楚一点,举一个实际的例子行吗?

     

  3. wfnh 说:

    象这样子:有n=5个数,我使m=2 的话,

    原来:1 2 3 4 5

    改变后:4 5 1 2 3

    这样行不?

  4. wfnh 说:

    无奈!!!

  5. wfnh 说:

    自己顶上十大!!

     

留下一个回复