用c语言 输入一个6个元素的数组,请分别用冒泡法和选择法对数组进行升序排列(从小到大)
4个回答
展开全部
//冒泡法:
# include<stdio.h>
int main()
{
int i,j,arr[6],temp;
printf("请输入6个数:");
for(i=0;i<6;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<6;i++)
{
for(j=0;j<6-1-i;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
printf("排序后:\n");
for(i=0;i<6;i++)
{
printf("%3d",arr[i]);
}
printf("\n");
return 0;
}
//选择法:
# include<stdio.h>
int main()
{
int i,j,k,a[6],temp;
printf("请输入6个数:");
for(i=0;i<6;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<6;i++)
{
k=i;
for(j=i+1;j<6;j++)
{
if(a[k]>a[j])
{
k=j;
}
}
if(k!=i)
{
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
printf("排序后:\n");
for(i=0;i<6;i++)
{
printf("%2d",a[i]);
}
printf("\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//冒泡法:
# include<stdio.h>
# include<windows.h>
int main()
{
int i,j,a[6],temp;
printf("请输入6个数:");
for(i=0;i<6;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<6-1;i++)
{
for(j=0;j<6-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("排序后:\n");
for(i=0;i<6;i++)
{
printf("%3d",a[i]);
}
printf("\n");
system("pause");
}
//选择法:
# include<stdio.h>
# include<windows.h>
int main()
{
int i,j,k,a[6],temp;
printf("请输入6个数:");
for(i=0;i<6;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<6-1;i++)
{
k=i;
for(j=i+1;j<6;j++)
{
if(a[k]>a[j])
{
k=j;
}
}
if(k!=i)
{
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
printf("排序后:\n");
for(i=0;i<6;i++)
{
printf("%3d",a[i]);
}
printf("\n");
system("pause");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询