精华内容
下载资源
问答
  • C语言 | 用指针对10个数排序

    千次阅读 2020-12-12 21:54:44
    例31:C语言用指针方法对10整数按由大到小顺序排序。 解题思路:在主函数中定义数组,用来存放10整数,定义int *型指针变量p指向a[0],定义函数sort将数组中的元素按由大到小排序排序函数: void sort(int x...

    例31:C语言用指针方法对10个整数按由大到小顺序排序。

    解题思路:在主函数中定义数组,用来存放10个整数,定义int *型指针变量p指向a[0],定义函数sort将数组中的元素按由大到小排序。

    排序函数:

    void sort(int x[],int n)//自定义排序函数 
    {
      int i,j,k,t;//定义整型变量 
      for(i=0;i<9;i++)//外层for循环 
      {
        k=i;//把i的值赋给k 
        for(j=1+i;j<10;j++)//内层for循环 
        {
          if(x[j]>x[k])//如果前一个数大 
          {
            k=j;
          } 
        } 
        t=x[k]; //赋值 
        x[k]=x[i];
        x[i]=t;
      }
    }
    

    源代码演示:

    #include<stdio.h>//头文件 
    int main()//主函数 
    {
      void sort(int x[],int n);//函数声明 
      int i,*p,a[10];//定义整型变量、指针变量、数组 
      p=a;//读者需要注意这里a赋值 
      printf("请输入十个数:");//提示语句 
      for(i=0;i<10;i++)//输入10个数 
      {
        scanf("%d,",p++);//注意每个数之间用英文逗号隔开 
      } 
      p=a;//读者需要注意这里a赋值 
      sort(a,10);//调用sort排序 
      printf("由大到小排序后的:");//提示语句 
      for(p=a,i=0;i<10;i++)//输出排序后的数 
      {
        printf("%d ",*p);
        p++;
      }
      printf("\n");//换行 
      return 0;//主函数返回值为0 
    }
    void sort(int x[],int n)//自定义排序函数 
    {
      int i,j,k,t;//定义整型变量 
      for(i=0;i<9;i++)//外层for循环 
      {
        k=i;//把i的值赋给k 
        for(j=1+i;j<10;j++)//内层for循环 
        {
          if(x[j]>x[k])//如果前一个数大 
          {
            k=j;
          } 
        } 
        t=x[k]; //赋值 
        x[k]=x[i];
        x[i]=t;
      }
    }
    

    编译运行结果如下:

    请输入十个数:0,4,6,1,8,12,78,34,67,4
    由大到小排序后的:78 67 34 12 8 6 4 4 1 0
    
    --------------------------------
    Process exited after 22.77 seconds with return value 0
    请按任意键继续. . .
    

    读者需要注意上述小林scanf函数用的逗号,注意是英文逗号:

    scanf("%d,",p++);
    

    在上一节小林说过,给指针变量赋的是地址,如下:

    int i,*p,a[10];
    p=a;
    

    但上述代码中却是这样赋值:

    int i,*p,a[10];
    p=&a;
    

    是因为我定义的a就是数组,在C语言中,数组名可以表示地址,因此不用再加取地址符&,读者需要了解。

    C语言用指针对10个数排序

    更多案例可以go公众号:C语言入门到精通

    
    
    展开全文
  • 题目:用指针方法对10整数按由大到小顺序排序 代码: 结果:

    题目:用指针方法对10个整数按由大到小顺序排序

    代码:

    结果:

    展开全文
  • /* * 程序的版权和版本声明部分 ... * All rightsreserved. * 作 者:冯冬影 * 完成日期:2013 年12...* 输入描述:输入3个数 * 问题描述:利用指针 * 程序输出:按从大到小输出 * 问题分析: */ #include usin
    /*
    * 程序的版权和版本声明部分
    * Copyright (c)2013, 烟台大学计算机学院学生
    * All rightsreserved.
    * 作    者:冯冬影
    * 完成日期:2013  年12  月 17日
    * 版本号: v1.0
    * 输入描述:输入3个数
    * 问题描述:利用指针
    * 程序输出:按从大到小输出
    * 问题分析:
    */
    #include <iostream>
    using namespace std;
    void f(int *x,int *y);
    int main()
    {
        int a,b,c;
        cout<<"请输入3个数:";
        cin>>a>>b>>c;
        if(a<b)
            f(&a,&b);
        if(a<c)
            f(&a,&c);
        if(b<c)
            f(&b,&c);
        cout<<"从大到小为:";
        cout<<a<<" "<<b<<" "<<c<<endl;
        return 0;
    }
    void  f(int *x,int *y)
    {
        int t;
        t=*x;
        *x=*y;
        *y=t;
    }
    

    运行结果
    展开全文
  • 利用函数指针对数组进行排序

    千次阅读 2015-07-05 19:02:55
    //冒泡排序的两种形式 for(i=0;i;i++) { for(j=i;j;j++) { if(p(a[i],a[j])>0) { int temp; temp = a[j]; a[j] = a[i]; a[i]=temp; } } } } void print(int *a,int n) { int...
    #include<stdio.h>
    int compare(int a,int b)
    {
    	return a - b;
    }
    void sort(int *a,int n,int(*p)(int,int))
    {
    	int i,j;
    	/*
    	for(i=0;i<n-1;i++)
    	{
    		for(j=0;j<n-i-1;j++)
    		{
    			if(p(a[j],a[j+1])>0)
    			{
    				int temp;
    				temp = a[j+1];
    				a[j+1] = a[j];
    				a[j] = temp;
    			}
    		}
    
    	}
    	*/
    	//冒泡排序的两种形式
    	for(i=0;i<n;i++)
    	{
    		for(j=i;j<n;j++)
    		{
    			if(p(a[i],a[j])>0)
    			{
    				int temp;
    				temp = a[j];
    				a[j] = a[i];
    				a[i]=temp;
    			}
    		}
    
    	}
    
    
    }
    void print(int *a,int n)
    {
    	int i;
    	for(i=0;i<n;i++)
    	{
    		printf("%d\t",*(a+i));
    	}
    	printf("\n");
    }
    int main()
    {
    	int a[5]={5,4,3,2,1};
    	sort(a,5,compare);
    	print(a,5);
    	return 0;
    }
    

    展开全文
  • #include int compare(int a,int b) { return a - b; } void select_sort(int *a,int n,int(*p)(int,int)) ... int a[5]={5,4,3,2,1}; select_sort(a,5,compare); print(a,5); return 0; }
  • #include using namespace std; void Bouble(int *Pointer,int count); int main() { int Array[10]={2,3,4,1,5,9,6,8,7,0}; Bouble(Array,10); for(int i=0;i10;i++) { cout }
  • 例82:C语言用指向指针的指针的方法对n整数排序并输出;要求将排序单独写成一函数;n整数在主函数中输入,最后在主函数中输出。 解题思路:读者看着道题的时候,首先要观察一下有什么规律,然后指向指针的指针...
  • c语言 用指针对数组元素排序

    千次阅读 2020-04-26 20:30:27
    指针对数组元素排序 请用程序实现 使用指针对数组元素进行由小到大排序。 函数定义 void sort (int n, int *p); 参数说明 n, 整型,表示数组长度 p, 整型指针,表示需要排序的数组 示例 1 输入 23 5 7 9 1 67 98 ...
  • 利用指针对两数字进行排序

    千次阅读 2013-12-15 18:26:20
    /* * 程序的版权和版本声明部分 ... * All rightsreserved. * 文件名称: array.cpp * 作 者: 初瑞 ...* 完成日期: 2013年 12 月 15 日 ...* 问题描述:利用指针对两数字进行排序 */ #include us
  • 来源于学校瑞格系统的题目(用指向指针的指针对数据进行排序) include int sort(int **p,int n) { int i,j,temp; for(i=0;i;i++) { for(j=i+1;j;j++) { if(**(p+i)>**(p+j))
  • 指针对数组进行排序

    千次阅读 2014-03-26 10:24:10
    题目:用指针对数组中的数字进行排序。 C代码: #include int main() { int a[10]={100,90,70,80,50,40,20,10,30,60}; int *p,*q,*k; int t; for(p=a;p {  for(q=p+1;q  {  if(*p>*q) { t=...
  • // // main.c // Pointer_array // // Created by ma c on 15/8/2. ...// 要求:使用指针的指针输出字符串。首先要使用指针数组创建一字符串数组,然后定义指向指针的指针,使其指向字符串数组,并使用其...
  • //用指针对数组进行从小到大的排序 for (int i=0;i&lt;lenth;i++) {  for(int j=i;j&lt;lenth;j++) { if (*(p+i)&gt;*(p+j+1)) { temp=*(p+j+1); *(p+j+1)=*(p+i); *(p+i)=temp...
  • 方法一 /* Note:Your choice is C IDE *...其次,swap的参数没用到,直接脱离了main函数,这函数只能在swap函数中由大到小排序,进入main函数调用的时候就不能改变顺序 所以该写法错误 下面再看几错误案例
  • C语言 指针方法实现三个数排序

    千次阅读 2017-12-04 22:18:58
    题目描述 输入3个数a,b,c,按大小...输入三个数 输出 按照从大到小的顺序输出 #include int main() {  int a,b,c;  int *pa=&a;  int *pb=&b;  int *pc=&c,t;  scanf("%d%d%d",&a,&
  • 最近开始学习指针,以前我们学过一些排序(冒泡、选择等等),这次给大家带来指针的一些用法! 1、将数组a[10] = {1,2,3,4,5,6,7,8,9,10}逆序输出 #include //利用指针将数组逆序 int main1() { int a[10] = {1,...
  • C语言:使用指针实现三个数排序

    千次阅读 2019-05-02 15:07:26
    自定义两函数完成 交换函数: void swap(int* p, int* q) { int temp; temp = *p; *p = *q; *q = temp; } 排序函数: void exchange(int* p1, int* p2, int* p3) { if (*p1 < *p2) { swap(p1, p2); } ...
  • #include #include void function(int *p1,int*... printf("请输入3个整数:"); scanf("%d%d%d",&a,&b,&c); function(&a,&b,&c); printf("由大到小排序:"); printf("%d %d %d\n",a,b,c); system("pause"); return 0; }
  • 使用C语言来对10个数排序(选择排序)

    千次阅读 2020-06-11 08:20:27
    使用C语言来对10个数排序(选择排序) 对数字排序可以采用选择排序法,即从后9个比较过程中,选择一个最小的与第1个元素交换,下次类推,即用第2个元素与后8个进行比较,并进行交换。 #include "stdio.h" #define N 10...
  • 用C++的基本算法实现十个数排序

    千次阅读 2013-06-23 23:37:13
    它重复地走访过要排序的数列,一次比较两元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 冒泡排序算法的运作如下: 比较相邻的...
  • 针对HashMap的自定义排序

    千次阅读 2011-06-20 01:40:00
    要对 HashMap 进行自定义排序,首先要了解 HashMap 本身是根据什么排序的。在进行之前,我们应该首先了解 Hash 函数和 HashCode 。 Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做...
  • 利用Python实现归并排序

    千次阅读 2016-07-04 15:09:15
    在讲归并排序之前我们先来了解一下什么是分治算法。为什么归并排序属于分治算法的体现。 分治算法分治算法基本思想就是将一比较大规模的问题分解成为若干规模较小的问题来解决。这些小问题相当于是原问题的子集...
  • //用指向指针的指针的方法对n整数排序输出 #include<stdio.h> #include<string.h> #define n 10 void sort(int *p) { int **q; int i,j; //int temp[10]; int t; q=&p; for(i=0;i<9;i...
  • 算法学习总结(2)——温故十大经典排序算法

    万次阅读 多人点赞 2019-08-29 14:57:51
    一、什么是排序算法 1.1、排序定义 对一序列对象根据某个关键字进行排序。 1.2、排序术语 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b...
  • 利用指针来进行字符串排序

    千次阅读 2018-07-29 13:06:07
    i++)//该处利用了选择排序 { for(j = i+1; j ; j++) { if(strcmp(p[i],p[j])) { temp = p[i]; p[i] = p[j]; p[j] = temp; } } } printf("str字符串数组中: "); for(i = 0; i ; i...
  • Oracle中针对中文进行排序

    千次阅读 2013-05-31 10:45:03
    在oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择: 1.按中文拼音进行排序:SCHINESE_PINYIN_M 2.按中文部首进行排序:SCHINESE_...3.按中文笔画进行排序:SCHINESE_STROKE_M
  • 下面的第一程序是正确的做法 第二是错误的做法#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> void swap(int *p1, int *p2); int main() { int a = 0; int b = 0; int c = 0; scanf("%d...
  • 利用指针对字符串排序

    千次阅读 2015-12-03 20:20:36
    #include #include int main() { void sort(char *pt[], int number); ...void print(char *pt[], int number);...char str[3][20] = {0}; //这里的0不是数字0,而是字符0,代表的含义是'\0'(空字符)... //定义一数组
  • Offer--030-最小的K个数

    千次阅读 2016-04-28 20:51:08
    链接 牛客OJ:最小的K个数 ... GitHub代码: 030-最小的K个数 CSDN题解:剑Offer–030-最小的K个数 牛客OJ 九度OJ CSDN题解 GitHub代码 最小的K个数 1371-最小的K个数Offer–030-最小的K个数
  • #C语言,冒泡法,用指向数组的指针变量对10个数进行升序排序。 #include<stdio.h> int main() { int a[10],*p; int i,t; printf("input 10 numbers:\n"); for(p=a;p<a+10;p++) scanf("%d",p); printf("\n...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,693
精华内容 37,077
关键字:

利用指针对3个数排序