題目:輸入10個數字,然後用一個菜單控制(傳回後),菜單有兩個内容,一個是把那10個數字按順序排列,還有一個就是顯示那10個數字。
#include <stdio.h>
#include <stdlib.h>
void shengxu(int * a)
{
int i, j, temp;
for(i=0; i<10; i++)
{
for(j=i; j<10; j++)
{
if(*(a+j)< *(a+i))
{
temp = *(a+j);
*(a+j) = *(a+i);
*(a+i) = temp;
}
}
}
}
void jiangxu(int * a)
{
int i, j, temp;
for(i=0; i<10; i++)
{
for(j=i; j<10; j++)
{
if(*(a+j)> *(a+i))
{
temp = *(a+j);
*(a+j) = *(a+i);
*(a+i) = temp;
}
}
}
}
int main(void)
{
int a[10];
int i, x, xx;
for(i=0; i<10; i++)
{
scanf("%d", &a[i]);
}
printf("1、把數組内容按順序排列\n");
printf("2、重新顯示數組内的元素\n");
scanf("%d", &x);
switch(x)
{
case 1:
{
printf(" 1、升序排列\n");
printf(" 2、降序排列\n");
scanf("%d", &xx);
switch(xx)
{
case 1:
{
shengxu(a);
for(i=0; i<10; i++)
{
printf("%d->", a[i]);
}
break;
}
case 2:
{
jiangxu(a);
for(i=0; i<10; i++)
{
printf("%d->", a[i]);
}
break;
}
}
break;
}
case 2:
{
for(i=0; i<10; i++)
{
printf("%d->", a[i]);
}
break;
}
}
printf("\n");
system("pause");
return 0;
}
/*
------------在VC++ 6.0 顯示結果為:------------
45 78 12 45 6 87 1 45 12 89
1、把數組内容按順序排列
2、重新顯示數組内的元素
1
1、升序排列
2、降序排列
1
1->6->12->12->45->45->45->78->87->89->
請按任意鍵繼續. . .
*/