一个任意数排序问题
对输入的n(1<n<100)个数进行排序。先输入要排的个数如3,则在输入具体3个数时,要输入4个数字按回车才行,为什么?如下程序。#include "stdio.h"
main()
{int i,n,*p;
int a[100];
printf("input n\n"); //输入排序个数
scanf("%d",&n);
printf("you insert n are\n ");
p=a;
for(i=0;i<n;i++)
scanf("%d\t",p++); //要排的数
p=a;
paixu(p,n);
for(i=0;i<n;i++)
printf("%d\t",*p++);
}
paixu(int *p,int n)
{int i,j,k,temp;
for(i=0;i<n-1;i++)
{for(j=0;j<n-i;j++)
{if(*(p+j)<*(p+j+1))
{temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;}
}
}
return;
}