帮忙做一下这个程序的注释?!

2025-02-24 03:14:11
推荐回答(1个)
回答1:

#include

#define MAX 100 //max的值就等于100

void swap(int *x,int *y); //先声明下swap这个函数

int main()
{
int choice,a[MAX],n,smallest,i,j;
printf("请输入数的个数n(n<=100):");
scanf("%d",&n);
printf("请输入%d个数\n",n);
for(i=0;i scanf("%d",&a[i]);
while(true)
{
printf("0:退出 ,1:冒泡排序, 2:选择排序\n");
scanf("%d",&choice);
switch(choice)
{
case 0: //当输入的choice的值是0的时候,执行这条,退出程序
return 0;
case 1: //当输入的choice的值是1的时候,执行这条,用冒泡排序
{
for(i=1;i for(j=0;j if(a[j]>a[j+1])
swap(&a[j],&a[j+1]); //把a[j]的值跟a[j+1]的值交换下
for(i=0;i printf("%d ",a[i]);
printf("\n");
}
break;
case 2: //当输入的choice的值是2的时候,执行这条,用选择排序
{
for(i=0;i {
smallest=i;
for(j=i+1;j if(a[smallest]>a[j])
smallest=j;
if(smallest!=i)
swap(&a[smallest],&a[i]);
}
for(i=0;i printf("%d ",a[i]);
printf("\n");
}
break;
default:
printf("请输入选择0~2\n");
break;
}
}
return 0;
}

void swap(int *x,int *y) //把x数组跟y数组内容交换
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}