您的位置:首页 > 其它

排序 自己选择是从小到小还是从小到大排序。

2008-01-31 17:36 232 查看
#include "Head.c"
void main() /*排序*/
{
int num[10];
int i,j;

void DESC();
void ASC();

printf("请输入十个数字。/n");

for( i = 0 ; i < 10 ; i++)
{
printf("请输入第%d个数:", i + 1);
scanf("%d",&num[i]);
}//End for;记录刚才输入的十个数。

printf("请选择倒序(D)、顺序(A)、退出(E)。:");

char ch='D' ;
for(;;)
{
do{
ch = toupper(getchar()); /*获取键盘输入的字符*/
}while(ch != 'D' && ch != 'A' && ch != 'E');

switch(ch)
{
case 'D':
printf("你输入的是倒序 %c/n",ch);
DESC(num);
break;
case 'A':
printf("你输入的是顺序显示 %c/n",ch);
ASC(num);
break;
case 'E':
exit(0);
break;
}

}

}//End main();

void ASC(int num[])
{
int i,j;
int temp; /*中间存取变量*/
for(i = 0 ; i < 9 ; i++) /*开始进行排序操作*/
{
for( j = i + 1 ; j < 10 ; j++)
{
if( num[i] > num[j] )
{
temp = num[i] ;
num[i] = num[j] ;
num[j] = temp ;
}//End if;
}//End for;
}//End for;
/* for(i = 0 ; i < 10 ; i++)
{
printf("%d/n",num[i]);
}//End for;从小到大打印出来。a*/

void PrintfNumber();

PrintfNumber(num);
}//End ASC;

void DESC(int num[])
{
int i,j;
int temp; /*中间存取变量*/
for(i = 0 ; i < 9 ; i++) /*开始进行排序操作*/
{
for( j = i + 1 ; j < 10 ; j++)
{
if( num[i] < num[j] )
{
temp = num[i] ;
num[i] = num[j] ;
num[j] = temp ;
}//End if;
}//End for;
}//End for;
/* for(i = 0 ; i < 10 ; i++)
{
printf("%d/n",num[i]);
}//End for;从小到大打印出来。a*/

void PrintfNumber();
PrintfNumber(num);
}//End DESC;

/*打印出数字来*/
void PrintfNumber(int num[])
{
int i;
for(i = 0 ; i < 10 ; i++)
{
printf("%d/n",num[i]);
}//End for;
}//End PrintfNumber();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐