回 帖 发 新 帖 刷新版面

主题:一道简单的排序题目,请大家帮忙~!

输入7个个位数进行由小到大进行排序
要求:
1.键盘输入7个个位数并显示,每个数之间有一定的距离
2.换行输出排序后的数据

回复列表 (共2个回复)

沙发

#include <stdio.h>
#include<stdlib.h>
#include<string>
#define MAXSIZE 100
typedef int keytype;
typedef struct{
    keytype key;
}
recordtype;
typedef struct {
    recordtype r[MAXSIZE+1];
    int length;
}table;
/*****************************************/
/*               冒泡排序算法            */
/*  文件名bubbsort.c,函数名bubblesort()  */
/*****************************************/
void bubblesort(table *tab)
{
  int i,j,done;
  i=1;done=1;
  while(i<=tab->length&&done)  /*最多进行tab->length次冒泡,如没有发生交换则结束*/
  {
    done=0;
    for(j=1;j<=tab->length-i;j++)
      if(tab->r[j+1].key<tab->r[j].key)
      {
    tab->r[0].key=tab->r[j].key;   /*以没有用到的第0个元素作为中间单元进行交换*/
    tab->r[j].key=tab->r[j+1].key;
    tab->r[j+1].key=tab->r[0].key;
        done=1;
      }
    i++;
  }
}
void main()
{
    table tab;
    int i;
    tab.length=7;
        printf("请输入七个数:\n");
    for(i=1;i<=7;i++)
            scanf("%d",&tab.r[i].key);
    bubblesort(&tab);
        printf("这七个数排序后为:\n");
    for(i=1;i<=7;i++)
          printf(" %d",tab.r[i].key);
}

板凳

可以帮我把这个题目用汇编写出来么?[em14]

我来回复

您尚未登录,请登录后再回复。点此登录或注册