| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 805 人关注过本帖
标题:主函数调用三种排序方法
取消只看楼主 加入收藏
魔问
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-3
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
主函数调用三种排序方法
要求主函数调用三种排序方法,做了一个,但运行无结果,望能找出错误!谢谢!
#include "stdio.h"
int x[10];
void read_data(int e[], int p);
void write_data(int f[], int q);
int sort1(int a[], int s);int sort2(int b[], int y);int sort3(int c[], int z);
int main()
{
 int n;
 printf("请选择排序方法:“1”为插入法,“2”为选择法,“3”为冒泡法");
 printf("\n");
 n=getchar();
 read_data(x, 10);
 switch(n)
 {
     case 1:sort1(x, 10);break;
     case 2:sort2(x, 10);break;
     case 3:sort3(x, 10);break;
 }
 write_data(x, 10);
 return 0;
}
 void read_data(int e[], int p)
 {
     int i;
     printf("请输入10个数:\n");
     for(i=0;i<10;i++)
     scanf("%d",&x[i]);
 }
 int sort1(int a[], int s)
{int i,j,t,k;
 for(i=0;i<s-1;i++)
 {
  for(k=i,j=i+1;j<10;j++)
   if(x[k]>x[j])
    k=j;
   if(i!=k)
   {
    t=x[i];
    x[i]=x[k];
    x[k]=t;
   }
 }
}
int sort2(int b[], int y)
{int i,j,t;
    printf("\n");
    for(i=0;i<y;i++)
  {
      t=x[i];
      for(j=i-1;j>=0&&t<x[j];j--)
    x[j+1]=x[j];
    x[j+1]=t;
  }
}
int sort3(int c[], int z)
{
 int i,j,t;
 for(j=0;j<z;j++)
  for(i=0;i<z-1-j;i++)
   if(x[i]>x[i+1])
    {t=x[i];x[i]=x[i+1];x[i+1]=t;}
}
 void write_data(int f[], int q)
 {   
  int i;
  printf("从小到大排列:\n ");
     for(i=0;i<q;i++)
     printf("%4d",x[i]);
   
}
搜索更多相关主题的帖子: include void 插入法 
2012-06-03 16:51
魔问
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-3
收藏
得分:0 
回复 楼主 魔问
太感谢了啊,后天就考试了,做不出来就惨了!
但有一点不太懂,int x[10]={0} 什么意思啊?
2012-06-03 22:29
魔问
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-3
收藏
得分:0 
哦哦!谢啦!
2012-06-03 23:21
快速回复:主函数调用三种排序方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030497 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved