我把您给我的程序加了一个菜单实现不了排序您能不能看一下
#include <stdio.h>
int main() {
int i,j,b;
int a[10]; //定义一个整型数组a[10]
int key; /*命令编号*/
do {
/*打印菜单*/
printf ("****************************************************** ");
printf (" 1 初始化数组 ");
printf (" 2 输出数组数据 ");
printf (" 3 对数组数据进行冒泡排序 ");
printf ("****************************************************** ");
printf (" ");
printf("请输入命令编号以开启操作:");
/*输入命令编号*/
scanf("%d",&key);
printf (" ");
/*switch函数实现输入功能序号执行相应函数*/
switch (key) {
case 1:
printf("10个整数用空格隔开:");
for(i=0; i<10; i++) //初始化数组
scanf("%d",&a[i]);
break; /*子函数1*/
case 2:
for(i=0;i<10;i++) //输出数组数据
printf("%d ",a[i]);
printf(" ");
break; /*子函数2*/
case 3:
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{ b=a[i];
a[i]=a[j];
a[j]=b;
} /*子函数3*/
}
} while (key!=3);
fflush(stdin);
getch ();
return 0;
}
你程序的顺序不正确
你1是输入2是输出
3排序后直接退出程序了,没有输出排序结果
改进
你1-输入,2-排序,3输出并退出
或
1-输入 2输出,3排序但不退出,0退出
这样可以用3排序后再输入2输出结果