永发信息网

C编程题目:输入20个整数,升序排列后输出。要求用算法流程控制综合应用设计

答案:1  悬赏:60  手机版
解决时间 2021-07-31 14:41
  • 提问者网友:且恨且铭记
  • 2021-07-30 15:12
C编程题目:输入20个整数,升序排列后输出。要求用算法流程控制综合应用设计
最佳答案
  • 五星知识达人网友:神鬼未生
  • 2021-07-30 16:17

#include<stdio.h>
void BubbleStort()
{
int i,j;
int arr[7];
printf("请输入要排数字:\n");
for(i=0;i<=6;i++)
scanf("%d",&arr[i]);
for(i=1;i<=6;i++)
{
for (j=0;j<=6-i;j++)
{
if(arr[j]>arr[j+1])
{
int t;
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
printf("排序后的数:\n");
for(i=0;i<=6;i++)
printf("%4d",arr[i]);
}
void SelectStort()
{
int i,j;
int arr[7];
printf("请输入要排数字:\n");
for(i=0;i<=6;i++)
scanf("%d",&arr[i]);
for(i=0;i<=5;i++)
{
int k;
k=i;
for(j=i+1;j<=6;j++)
{
if(arr[k]<arr[j])
k=j;
}
if(i!=k)
{
int t;
t=arr[i];
arr[i]=arr[k];
arr[k]=t;
}
}
printf("排序后的数:\n");
for(i=0;i<=6;i++)
printf("%4d",arr[i]);
}
void InsertSort()
{
int i,j;
int arr[7];
printf("请输入要排数字:\n");
for(i=0;i<=6;i++)
scanf("%d",&arr[i]);
for( i=1;i<=6;i++)
{
int t;
t = arr[i];
for(j=i;j>0 && arr[j-1]>arr[j];j--)
{
arr[j]=arr[j-1];
arr[j-1]=t;
}

}
printf("排序后的数:\n");
for(i=0;i<=6;i++)
printf("%4d",arr[i]);
}
void main()


{
printf("----------------------------\n");
printf("---------1.选择排序---------\n");
printf("---------2.冒泡排序---------\n");
printf("---------3.插入排序---------\n");
printf("----------------------------\n");
printf("请输入你的选择(1,2,3):");
int c;
scanf ("%d",&c);
if (c==1)
BubbleStort();
if(c==2)
SelectStort();
if(c==3)
InsertSort();
}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯