首页 > 电脑

请编程高手帮我修改一下程序,谢谢

更新时间2018-06-16 23:26:21

题目内容:

 给定一组整数,要求输出其进行直接插入排序第3趟的结果。

输入描述

在一行输入10个整数

输出描述

输出直接插入排序第3趟的结果,每个数据间用一个空格分隔

输入样例

5 4 7 6 9 8 1 2 3 0

输出样例

4 5 6 7 9 8 1 2 3 0*/

#include<stdio.h>

#define M 10

void Crelist(int a[])

{

int i;

for(i=1;i<=M;i++)

scanf("%d",&a[i]);

}

/*你实现的sortThree的代码将出现在这里*/

void SortThree(int a[])

{

   int i,j,k,n;

   for(i=1;i<n;i++)

   {

   for(j=i-1;j>=0;j--)

   if(a[j]<a[i])   break;

    if(j!=i-1)

    {

    int temp=a[i];

    for(k=i-1;k>j;k--)

     a[k+1]=a[k];

    a[k+1]=temp;

}

   }

   printf("%d",a[3]);

}

int main()

{

int a[M+1];

Crelist(a);

SortThree(a);

}


你没有看清题目的要求啊

是输出直接插入排序第3趟的结果,不是第3个元素

另外,你SortThree中的n没有初始值

修改

1.改

   int i,j,k,n;

   int i,j,k,n=3;

2.删除

   printf("%d",a[3]);

3.在main()改

int a[M+1];

int a[M+1],i;

并在程序最后加

for(i=1;i<=M;i++)

   printf("%d ",a[i]);

printf(" ");

return 0;


相关标签:谢谢

上一篇:cfak一般什么时候用速点什么时候用单点,什么时候用三连发

下一篇:互站源码当初是谁放出来的