精华内容
下载资源
问答
  • 利用指针将10个数排序
    2022-01-25 17:18:15

    利用指针对10个数排序

    #include<stdio.h>
    int main()
    {
        void sort(int x[],int n);
        int i,a[10];
        int *p;
        printf("请输入10个数:");
        for(i=0;i<10;i++)
        {
            scanf("%d",&a[i]);
        }
        p=a;
    sort(a,10);
    printf("由大到小排序后为:");
    for(p=a,i=0;i<10;i++)
    {
        printf("%d ",*p);
        p++;
    }
    printf("\n");
    return 0;
    }
    void sort(int x[],int n)
    {
    int i,j,k,t;
    for(i=0;i<9;i++)
    {
        k=i;
        for(j=i+1;j<10;j++)
        {
            if(x[j]>x[k])
            {
                k=j;
            }
        }
        t=x[k];
        x[k]=x[i];
        x[i]=t;
    }
    }

    更多相关内容
  • 用指针对10个数排序

    2021-11-15 17:02:32
    解题思路:在主函数中定义数组,用来存放10个整数,定义int *型指针变量p指向a[0],定义函数sort数组中的元素按由大到小排序排序函数: voidsort(intx[],intn)//自定义排序函数 { inti,j,k,t;//定义整型变量...

    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语言/C++哟~

    写在最后:对于准备学习C/C++编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!

    C语言C++编程学习交流圈子,QQ群:763855696【点击进入】

    C语言从入门到精通(C语言入门C语言教程C语言零基础C语言基础C语言学习C

    整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

    欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

    编程学习视频分享:

     

     

     

     

    展开全文
  • 2016-05-31 回答c语言是这样的 #include void main() { void select_sort... int *p,i,a[10]; p=a; printf("input 10 numbers:\n"); for(i=0;i<10;i++) scanf("%d",p++); p=a; select_sort(p,10); // select_s...

    2016-05-31 回答

    c语言是这样的 #include void main() { void select_sort(int *, int); int *p,i,a[10]; p=a; printf("input 10 numbers:\n"); for(i=0;i<10;i++) scanf("%d",p++); p=a; select_sort(p,10); // select_sort(a,10); printf("the sorted numbers:\n"); for(p=a,i=0;i<10;i++) { printf("%d ",*p++); } printf("\n"); } void select_sort(int *x, int n) { int i, j, k, temp; for(i=0; i #include void input(char (*p)[10],int n) { int i; //int for(i=0;i0) { strcpy( t,p[i] ); strcpy( p[i],p[j] ); strcpy( p[j],t); } } int main() { char s[4][10]; input(s,4); sort(s,4); output(s,4); system("pause"); return 0; }

    展开全文
  • 指针法对10个整数排序

    千次阅读 2018-12-08 12:48:38
    思路:在主函数中定义数组a存放十个整数,定义int*型变量p并指向a[0]。在主函数中调用sort函数,用指针变量p作为实参。sort函数的形参用数组名。利用选择排序法进行排序。 ...

    思路:在主函数中定义数组a存放十个整数,定义int*型变量p并指向a[0]。在主函数中调用sort函数,用指针变量p作为实参。sort函数的形参用数组名。利用选择排序法进行排序。

    #include<stdio.h>
    int main()
    {
        void sort(int x[],int n);
        int i,*p,a[10];
        p=a;       //指针变量P指向a[0]  
        printf("输入十个数:");
        for(i=0;i<10;i++)
            scanf("%d",p++);
        p=a;        //指针变量P重新指向a[0]    用指针变量作实参,必须先指向一个对象
        sort(p,10); 
        for(p=a,i=0;i<10;i++)
        {
            printf("%3d",*p);
            p++;
        }
            return 0;
    }
    void sort(int x[],int n)
    {
        int i,j,k,t;
        for(i=0;i<n-1;i++)					//选择排序法
        {
            k=i;					
            for(j=1+i;j<n;j++)
                if(x[j]>x[k])
                    k=j;
                if(k!=i)
                   {
                    t=x[i];
                    x[i]=x[k];
                    x[k]=t;
                }
        }
    }
    

    形参p为指针变量,指向a[0]。形参为数组名x,编译系统把x作为指针变量处理,将a[0]的地址传给形参x,使x也指向a[0]。
    在这里插入图片描述

            sort函数改用指针变量作形参,程序照样可以执行。
            此时sort函数首部为 sort(int*x,int n)
    
                void sort (int *x,int n)
    {
        int i,j,k,t;
        for(i=0;i<n;i++)
        {
            k=i;
            for(j=i+1;j<n;j++)
                if(*(x+j)>*(x+k))
                k=j;
            if(k!=i)
            {
                t=*(x+i);
                *(x+i)=*(x+k);
                *(x+k)=t;
            }
        }
    }
    

    两种sort函数只是形式上的不同,实际上形参都是使用指针变量。

    展开全文
  • C语言 | 用指针对10个数排序

    千次阅读 2020-12-12 21:54:44
    解题思路:在主函数中定义数组,用来存放10个整数,定义int *型指针变量p指向a[0],定义函数sort数组中的元素按由大到小排序排序函数: void sort(int x[],int n)//自定义排序函数 { int i,j,k,t;//定义整型...
  • 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); } ...
  • 指针法对三个数排序

    千次阅读 2020-05-27 18:50:44
    #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; }
  • 输入三个数a,b,c,按大小顺序输出,利用指针方法 程序分析 int *p; 表示这是int型的指针 int a; *p=&a;//变量a的地址赋值给指针p &a表示取int型变量a的地址 主要代码 main.c void swap(int *a,int *b){ ...
  • //选择排序法---用指针变量实现对10个整数按从大到小排序 #include<stdio.h> void choose_sort(int arr[],int n) { int i=0,j=0,k=0;int temp; for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) ...
  • 利用指针对两数字进行排序

    千次阅读 2013-12-15 18:26:20
    /* * 程序的版权和版本声明部分 ... * All rightsreserved. * 文件名称: array.cpp * 作 者: 初瑞 ...* 完成日期: 2013年 12 月 15 日 ...* 问题描述:利用指针对两数字进行排序 */ #include us
  • 利用指针数组进行字符串排序

    千次阅读 2021-02-08 11:13:59
    数组的元素均是指针,则该数组称为指针数组。 使用指针数组处理字符串非常适合。由于字符串长度不定,使用二维字符数组处理会大量浪费存储空间。 代码示例: #include<stdio.h> #include<stdlib.h> ...
  • 实例62 利用指针进行排序

    千次阅读 2019-06-29 09:11:18
    程序中使用指针传递数组中的数据,然后通过指针与数组下标的关系,对数组中的数据进行排序。 #include <stdio.h> #include <stdlib.h> void sort(int *arr,int i); int main() { int myarr[10]={3,1,...
  • 每次对不同数目的数字进行排序都要修改代码,这大大地增加了执行的复杂程度,因此,我利用指针,在对n数字进行排序时,提前输入将要进行排序的个数,来实现对n数字的排序。 所使用的编译器为vs2022 代码...
  • C程序设计(第四版) 谭浩强 例8.10 个人设计例 8.10 用指针方法对10个整数按由大到小顺序排序。代码块:#include void sort(int *s, int n); //定义排序函数 int main() { int a[10], *p; printf("Please enter ...
  • 原理就不讲了,这里用来理解指针的使用方法 #include <stdio.h> void fun(int* a,int* b) { int t; if(*a>=*b) { t = *a; *a = *b; *b=t; } } int main() { int m, n; scanf...
  • 输入两个数排序,从小到大 #include<stdio.h> void swap(int *a,int *b) { int temp=*a; *a=*b; *b=temp; } int main() { int a,b; scanf("%d %d",&a,&b); if(a>b) swap(&a,&b...
  • 利用指针变量,用函数实现3整数按从大到小的顺序输出。解:程序:#includevoid swap(int *ptr1, int *ptr2){int temp = *ptr1;*ptr1 = *ptr2;*ptr2 = temp;}void exchange(int *q1, int *q2,int *q3){void swap...
  • 输入3个数x,y,z,按从小到大顺序排序后输出。 要求:利用指针方法实现两互换,函数原型为:void swap(int *p1,int *p2);
  • #include<iostream> using namespace std; //声明冒泡排序函数 void bubble(int* p, int ... int arr[10] = { 4,3,6,9,1,2,10,8,7,5 }; //计算数组的长度 int length = sizeof(arr) / sizeof(arr[0]); //调.
  • 利用指针数组对形参所指字符串数组中的字符串按由长到短的顺序排序 ,并输出结果。 要求: 1、求字符串长度自定义函数实现; 2、排序用自定义函数实现; 3、输出结果用自定义函数实现; 4、不允许调用标准库中的字符...
  • 指针方法对10个整数按由大到小顺序排序 int main(){ void sort(int x[],int n);//声明sort函数 int i,*p,a[10]; p=a;//指针变量p指向a[0] printf("输入10个数:\n"); for(i=0;i<10;i++){//输入10个整数 ...
  • 指针给一组数排序

    2014-07-01 21:06:13
    利用指针为一组数排序,c语言程序,简单易行
  • 输入10个数用冒泡法排序

    千次阅读 2021-05-22 07:23:18
    输入10个数,用冒泡排序法按由小到大顺序排序并输如下参考: #包括< stdio, h > Intmain() { Inta[10]={0}; IntI=0,j=0,t=0; For (I = 0;我< 10;我+ +) {scanf (" % d ", & a [I]);} For...
  • 利用冒泡法对10个数字进行排序

    千次阅读 2021-09-03 08:31:38
    利用冒泡法对10个数字进行排序(数组)
  • 利用指针实现字符串排序strcmp

    千次阅读 2020-02-10 22:58:42
    指针实现字符串排序 #include <stdio.h> #include <string.h> //指针数组中 strings[i] 就表示第i元素的值,等价于*(strings+i); sort_(char *strings[],int n) { char *temp; int i,j; for(i ...
  • C语言 指针方法实现三个数排序

    万次阅读 多人点赞 2017-12-04 22:18:58
    利用指针方法 输入 输入三个数 输出 按照从大到小的顺序输出 #include int main() {  int a,b,c;  int *pa=&a;  int *pb=&b;  int *pc=&c,t;  scanf("%d%d%d",&a,&
  • #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; void fun(char **str); int main() ... str[0] = malloc(sizeof(char) * 10); str[1] = mal...
  • 要求:利用指针方法实现两互换,函数原型为:void swap(int *p1,int *p2); 输入提示:printf("please input 3 number x,y,z"); 输入格式:"%d,%d,%d" 输出格式:printf("the sorted numbers are:%d,%d,%d\n", ); ...
  • 利用指针来进行字符串排序

    千次阅读 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...
  • #include<... //初始化指针 ,a是数组首地址 for(i=0;i<10;i++){ scanf("%d",p+i); } for(i=0;i<9;i++){ k=i; for(j=i+1;j<10;j++) if(fabs(a[j])<fabs(a[k])) k=j; temp

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 142,226
精华内容 56,890
热门标签
关键字:

利用指针将10个数排序

友情链接: db5.zip