精华内容
下载资源
问答
  • //Title冒泡排序,利用函数调用 //Author: //flyingostrich //Data: //Tuesday 26-August-2014 //Environment: //Codeblocks #include #define M 10//宏定义修改M的值 void Bubble_sort(int a[]) { ...

    //Title冒泡排序,利用函数调用


    #include<stdio.h>
    #define M 10//宏定义修改M的值


    void Bubble_sort(int a[])

    {
        int i,j,t;
        for(j=0;j<M;j++)
          for(i=0;i<M-j;i++)
            if(a[i]<a[i+1])
            {
                t=a[i];a[i]=a[i+1];a[i+1]=t;
            }
    }//数组传递为地址传递,此函数结束后排序结束,无需返回值


    main()
    {
        int i,a[M];
        printf("Please input several numbers at will)\n");
        for(i=0;i<M;i++)
          scanf("%d",&a[i]);
        Bubble_sort(a);//函数调用,定义在调用之前就不需要声明
        printf("The sorted numbers are following:\n");
    
    

        for(i=0;i<M;i++)
          printf("%d ",a[i]);

    }





    //给定10个乱序的数,先排序后合理插入数

    #include<stdio.h>
    #define M 11
    void Bubble_sort(int a[])//冒泡排序
    {
       int i,j,temp;
       for(i=0;i<9;i++)
         for(j=0;j<9-i;j++)
         if(a[j]>a[j+1])
         {
            temp=a[j];
            a[j]=a[j+1];
            a[j+1]=temp;
         }
    }


    void insert(int a[],int x)//插入函数
    {
        int i,j,temp;
        for(i=0;i<10;i++)
          if(x<a[i])
          {
              for(j=9;j>=i;j--)
                a[j+1]=a[j];
              break;
          }
        a[i]=x;
    }


    int main()
    {
        int x;
        int a[M]={23,32,4,54,5,63,2,5,24,53};
        printf("排序插入前:\n");
         for(int i=0;i<M-1;i++)
          printf("%d ",a[i]);
        printf("\n");
        Bubble_sort(a);
        printf("Please input x:\n");
        scanf("%d",&x);
        insert(a,x);
        printf("排序插入后:\n");
        for(int i=0;i<M;i++)
          printf("%d ",a[i]);
        return 0;
    }


    结果如下:



    展开全文
  • 我忘记了怎么遍写,求帮忙,顺便求一下流程图 <p>#include <stdio.h> void fun(int *num) {<!-- --> int temp; for(int i=0; i<...}</p>
  • #include<stdio.h> int main() { void paixu(int a[],int n); int a[10],i; for(i=0;i<=9;i++) scanf("%d",&a[i]); paixu(a,10); for(i=0;i<=9;i++) printf("%...

    #include<stdio.h>
    int main()
    {
        void paixu(int a[],int n);
        int a[10],i;
        for(i=0;i<=9;i++)
            scanf("%d",&a[i]);
        paixu(a,10);
        for(i=0;i<=9;i++)
            printf("%d ",a[i]);
        printf("\n");
        return 0;
    }
    void paixu(int a[],int n)
    {
        int i,j,t;
        for(i=0;i<n-1;i++)
            for(j=i+1;j<n;j++)
                if(a[i]>a[j])
                {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
                }
    }
    /*vc++6.0:
    9 8 7 6 5 4 3 2 1 0
    0 1 2 3 4 5 6 7 8 9
    Press any key to continue
    */

    展开全文
  • 要求使用到调用函数 要求对二位数组6×5的进行竖向的排序</p>
  • 本文将教科书里的冒泡法改进下以提高排序效率,并提供标准函数接口,大家可以直接调用

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>//包含strlen

    #define YES 1
    #define NO  0

    #define uchar unsigned char
    #define uint unsigned int
    #define ushort unsigned short
    #define ulong unsigned long

    #define u8  uchar
    #define u16 ushort
    #define u32 ulong

    u32 *BubbleSort(u32 *pArr, u8 num);

    int main(void)
    {
        u32 array[] = {1, 2, 5, 7, 6, 9, 0, 3, 4, 8}; 
        u8 i = 0;
        u32 *p = 0;
       
        p = BubbleSort(array, sizeof(array)/sizeof(array[0]));

        for (i=0; i<sizeof(array)/sizeof(array[0]); i++)
        {
            printf("%d\n", *p++);
        }
          
        return 0;
    }

    /*
    方法:
    共n-1个周期,每个周期均为:第1个和第2个比,第2个和第3个比,……第n-1个和第n个比;
    第1个周期把最大的数排好位置,
    第2个周期把倒数第二大的数排好,
    ……
    第n-1个周期把所有数都排好。
    */
    u32 *BubbleSort(u32 *pArr, u8 num)
    {
        u32 tmp = 0;
        u8 flg = 0;
        u8 i = 0;
        u8 j = 0;

        //i每增加一次则说明又有一个数被排好
        for (i=0; i<num-1; i++)
        { 
            flg = 0;//循环提前结束标志位
           
            for (j=0; j<num-1-i; j++)
            {
                if (pArr[j] > pArr[j+1])
                {
                    tmp = pArr[j];
                    pArr[j] = pArr[j+1];
                    pArr[j+1] = tmp;
                    flg = 1;         
                }    
            }
           
            //flg为0说明条件(pArr[j] > pArr[j+1])一直不成立则说明排序已经完成    

            //则提前结束第一层for循环以避免进行多余的循环而浪费时间
            if (!flg)
            {
                break; 
            }
        }

        return pArr;
    }

    展开全文
  • /*折半查找*/ #include .../*函数调用*/ #include void sort(float *sco) { int i,j,tmp; //float tmp; for(i=0;i for(j=i+1;j { if(sco[i] { tmp=sco[i]; sco[i]=sco[j]; sco[j]=tm
    /*折半查找法*/
    #include<stdio.h>
    #include<stdlib.h>
    #include<windows.h>
    /*函数调用*/
    #include<stdio.h>

    void sort(float *sco)
    {


    int i,j,tmp;
    //float tmp;
    for(i=0;i<9;i++)
    for(j=i+1;j<10;j++)
    {
    if(sco[i]<sco[j])
    {
    tmp=sco[i];
    sco[i]=sco[j];
    sco[j]=tmp;
    }
    }
    }


    /*主程序*/
    void main()
    {
    int i;
    float score[10],k;
    printf("请输入成绩:\n");
    for(i=0;i<=9;i++)
    {
    scanf("%f",&score[i]);//注意不能在定义类型中限制小数位数,只能在输出时限制。
    }
    printf("初始分数为:\n");
    for(i=0;i<10;i++)
    printf("%.1f\t",score[i]);//打印输入的成绩
    sort(score);//调用函数。
    printf("调用排序函数后\n");
    for(i=0;i<10;i++)
    printf("%.1f\t",score[i]);
    /*开始折半查找调用*/
    printf("请输入要查找的条件\n");
       int min=0,max=9,a;//max为下限,min为上限,a为中间;
        fflush(stdin);
    scanf("%f",&k);//输入的条件;
    while(min<=max)

    a=(min+max)/2;//折半
    if(score[a]==k)//通过下标对比判断
    {
    printf("score[%d]=%.1f\n",a,k);

    exit(0);//结束程序
    }
    else if(score[a]>k)//如果n[a]中的数值大于K的值,那么前移一个。进行对比,反之加1后移对比。
    {    
    min=a-1;
    }
    else
    {
    max=a+1;
    }
    }
    printf("没有找到此数值%.1f\n",k);
    }
    展开全文
  • C语言函数练习2

    2021-05-10 23:51:38
    C语言函数练习 题目 1、编写函数打印以下图形,将图形中的行数作为函数的形参。在main()函数中输入行数n,调用函数打印...3、用冒泡法对输入的8个数排序排序功能在子函数中实现,数据的输入输出在主函数中完成;
  • 今晚分享的是函数~字符串排序(2)的程序设计: 1.题目: 函数fun的功能是读入一个字符串(长度<20),将该字符串中的所有字符按ASCII值升序排列...(1)采用冒泡排序法 (2)strlen函数的使用需要调用string.h文件 ...
  • (1)随机产生20个int类型的数组元素,编写并调用函数冒泡排序法按降序排列后输出;编写并调用函数用简单选择排序法按降序排列后输出; (2)输入几个英文姓氏,对其进行升序排列。 (3)向一个已经排好序的数组...
  • 快速排序基于交换排序,与同样的基于交换排序冒泡排序法相比,其效果非常明显。 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按...
  • (2)先采用冒泡排序法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此成绩按照排 序规律插入已排好序的学生成绩数组。 (3)在函数中进行 全班学生成绩从高到低的顺序进行排名, 排名方式根据上方一排好...
  • 第一次学习程序开发,是...很简单,图中有三个文件,一个主文件,一个头文件,一个实现文件,里面又分成了选择排序法冒泡排序法,如图: 只要调用这两个函数中的任何一个,都可以对字符型或数值型数据进行排序 ...
  • c语言编一个程序,要求输入5(用户自定义)个数字,用数组接收,然后进行冒泡法排序,接着如果有重复的数字,则删除重复的数字,只留一个再与其它不重复的数字排序后再输出!比如输入2 5 6 3 4,则输出2 3 4 5 6;...
  • c语言描述,非常好,总结非常好,通俗易懂 C语言学到什么程度,就可以入行了。 有没有一个标准?... 选择法或者冒泡法排序  在一个函数内排序  通过函数调用的方式排序  数组做函数参数的技术盲点和推演
  • 冒泡法排序1-2 冒泡法排序 - 函数调用2 回文4 添加并排序 1-1.冒泡法排序 /* 将uchar niu[8]={1,28,8,4,100,79,89,11}; AD 采用冒泡法进行排序;(两个for循环嵌套); ******************************************...
  • 1.排序原理....... 2.代码(可以类比c语言主函数,,函数调用) ublic class BubbleSort { public static void main(String[] args) { // TODO Auto-generated method...
  • 指针数组综合使用(函数调用

    千次阅读 2019-01-09 22:28:34
    **题目:就是对一组字符串进行排序,采用冒泡法进行,并要求使用指针和调用函数,**后买你需要用到从文件中读取数据,然后进行字符分割,从而通过冒泡排序进行结果显示,最后需要以二进制的形式写在另一个文档中,这...
  • 掌握冒泡法或选择法排序的算法4. 掌握函数的定义、调用、声明,以及参数的两种传递方式二、实习环境个人计算机,Windows操作系统,Turbo C 或 WinTC或Visual C++等编译开发环境三、实习内容与步骤1.定义一个数组...
  • C语言是编程语言中的一朵奇葩,虽已垂垂老矣,但却屹立不倒,诞生了... 时间复杂度、冒泡排序法、选择排序法、快速排序法、归并排序法、顺序排序法、二分查找等常用算法的详细讲解;  良好的编码习惯和编程风格。
  • 掌握冒泡法或选择法排序的算法4. 掌握函数的定义、调用、声明,以及参数的两种传递方式 二、实习环境个人计算机,Windows操作系统,Turbo C 2.0或 WinTC或Visual C++等编译开发环境 三、实习内容与步骤1.定义一个...
  • C语言进阶-牟海军.pdf

    2017-07-25 10:58:37
    简介: C语言是编程语言中的一朵奇葩,虽已垂垂老矣,但却屹立不倒,... 时间复杂度、冒泡排序法、选择排序法、快速排序法、归并排序法、顺序排序法、二分查找等常用算法的详细讲解;  良好的编码习惯和编程风格。
  • c语言经典案例

    2014-10-30 08:06:57
    实例224 调用calloc()函数动态分 配内存 337 实例225 为具有3个数组元素的 数组分配内存 338 实例226 为二维数组动态分配内存 338 实例227 商品信息的动态存放 340 第15章 预处理和函数类型 341 实例228 用不带参数...
  • c语言经典源码例子100篇

    热门讨论 2008-09-23 12:13:17
    实例77 冒泡排序法 实例78 堆排序 实例79 归并排序 实例80 磁盘文件排序 实例81 顺序查找 实例82 二分法查找 实例83 树的动态查找 实例84 二分法求解方程 实例85 牛顿迭代求解方程 实例86 弦截求解方程 实例87 ...
  • C语言精彩编程百例.pdf(附书源码)

    千次下载 热门讨论 2011-06-29 10:49:46
    实例77 冒泡排序法 实例78 堆排序 实例79 归并排序 实例80 磁盘文件排序 实例81 顺序查找 实例82 二分法查找 实例83 树的动态查找 实例84 二分法求解方程 实例85 牛顿迭代求解方程 实例86 弦截求解方程...
  • 实例77 冒泡排序法 实例78 堆排序 实例79 归并排序 实例80 磁盘文件排序 实例81 顺序查找 实例82 二分法查找 实例83 树的动态查找 实例84 二分法求解方程 实例85 牛顿迭代求解方程 实例86 弦截求解...
  • C语言基础习题50例(八)36-40

    千次阅读 多人点赞 2020-06-11 20:48:26
    对10个数进行排序,可使用冒泡法或其他算法进行排序,一般都会经过多层嵌套、比较和交换。求一个3*3矩阵对角线元素之和,先使用双重for循环输入二维数组,再根据判断条件即i和j相等时就将该元素加入求和。在一个有序...
  • C语言通用范例开发金典.part2.rar

    热门讨论 2012-08-31 14:18:18
    范例1-83 冒泡排序 243 ∷相关函数:bubble_sort函数 1.5.8 一趟快速排序 246 范例1-84 一趟快速排序 246 ∷相关函数:QSort函数 1.5.9 一趟快速排序的改进算法 248 范例1-85 一趟快速排序的改进算法 248 ∷...
  • C语言通用范例开发金典.part1.rar

    热门讨论 2012-08-31 14:09:26
    范例1-83 冒泡排序 243 ∷相关函数:bubble_sort函数 1.5.8 一趟快速排序 246 范例1-84 一趟快速排序 246 ∷相关函数:QSort函数 1.5.9 一趟快速排序的改进算法 248 范例1-85 一趟快速排序的改进算法 248 ∷...
  • (2) 先采用冒泡排序法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此成绩按照排序规律插入已排好序的学生成绩数组,最后将排好序的成绩单进行反序存放。 (3) 在函数中进行全班学生成绩从高到低排名,...
  • 6.7 例子:冒泡排序 6.8 用calloc()和malloc()进行动态内存分配 6.9 例子:归并和归并排序 6.10 字符串 6.11 标准函数库中的字符串处理函数 6.12 多维数组 6.12.1 二维数组 6.12.2 存储映射函数 6.12.3 形式参数...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

c语言调用函数冒泡法排序

c语言 订阅