精华内容
下载资源
问答
  • 对10个整数由大到小排序

    千次阅读 2017-08-05 15:40:28
    定义函数sort使数组a中的元素按由大到小排序。在主函数中调用sort函数,用指针变量p作实参,sort函数的形参用数组名,用选择排序法进行排序。撸码: #include "stdafx.h" #include "stdlib.h" int main() { void ...

    先有思路后有代码:

    思路:在主函数中定义一个数组用来存放10个整数,定义int * 型指针变量p指向a[0]。定义函数sort使数组a中的元素按由大到小排序。在主函数中调用sort函数,用指针变量p作实参,sort函数的形参用数组名,用选择排序法进行排序。

    撸码:

    
    #include "stdafx.h"
    #include "stdlib.h"
    int main()
    {
        void sort(int x[], int n);
        int i, *p, a[10];
        p = a;
        printf("Please enter 10 integer number:");
        for ( i = 0; i < 10; i++)
        {
            scanf(" %d ",p++);
        }
        p = a;
        sort(p, 10);
        for (p = a, i = 0; i < 10; i++)
        {
            printf("%d", *p);
            p++;
        }
        printf("\n");
            system("pause");
            return 0;
    }
    
    //选择排序法
    void sort(int x[], int n) {
    
        int i, j, k, t;
        for ( i = 0; i < n-1; 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函数声明要改为:

    sort(int *x,int n)

    其他不改,程序运行结果不变。

    可以看到,即使在函数sort中将x定义为指针变量,在函数中仍可用x[i]和x[j]这样的形式表示数组元素,它就是x+i和x+j所指的数组元素。

    上面的sort等价于:

    void sort(int *x, int n) {
    
        int i, j, k, t;
        for ( i = 0; i < n-1; 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;
            }
    
        }
    }
    展开全文
  • 在主函数中定义长度为10的数组,定义指针变量指向数组的首地址,将数组首地址发给定义的排序的函数进行排序。 选择排序的示意图: 代码: # include <stdio.h> int main(void) { void sort(int * p, int n....

    人之所以痛苦,那是因为你在成长。--------magic_guo

    熟练掌握选择排序,了解选择排序与冒泡排序的区别。

    思路:
    在主函数中定义长度为10的数组,定义指针变量指向数组的首地址,将数组首地址发给定义的排序的函数进行排序。
    选择排序的示意图:
    在这里插入图片描述
    代码:

    # include <stdio.h>
    
    int main(void)
    {
    	void sort(int * p, int n);						//sort函数的的声明
    	int array[10], * p, i;
    	p = array;										//将指针变量p指向array数组
    	printf("Please enter ten integer numbers: \n");
    	for (i=0; i<10; i++)
    		scanf("%d", &array[i]);
    
    	printf("original array:\n");
    	for (i=0; i<10; i++)
    		printf("%d ", array[i]);
    	printf("\n");
    	sort(p, 10);									//调用sort函数,将指针变量和数组长度作为实参发送给函数
    
    	printf("sorted array:\n");
    	for (i=0; i<10; i++)
    		printf("%d ", array[i]);
    	printf("\n");
    
    	return 0;
    }
    
    void sort(int * p, int n)
    {
    	int i, j, temp;
    	for (i=0; i<n; i++)								
    		for (j=i+1; j<n; j++)
    			if (*(p+i) < *(p+j))
    			{
    				temp = *(p+i);
    				*(p+i) = *(p+j);
    				*(p+j) = temp;			
    			}
    }
    
    
    展开全文
  • 用指针方法对10个整数由大到小排序

    千次阅读 2015-03-22 14:38:11
    #include int main() { void sort(int x[],int n); int i; int *p; ... printf("enter 10 integer numbers:"); for(i = 0;i < 10;i++) { scanf("%d",p++); } p = a; sort(p,10); for(p
    #include<stdio.h>
    
    int main()
    {
    	void sort(int x[],int n);
    	int i;
    	int *p;
    	int a[10];
    	p = a;
    	printf("enter 10 integer numbers:");
    	for(i = 0;i < 10;i++)
    	{
    		scanf("%d",p++);
    	}
    	p = a;
    	sort(p,10);
    	for(p = a,i = 0;i < 10; i++)
    	{
    		printf("%5d",*p);
    		p++;
    	}
    	printf("\n");
    	return 0;
    }
    
    void sort(int x[],int n)
    {
    	int i;
    	int j;
    	int k;
    	int t;
    	for(i = 0;i < n-1;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;
    			}
    		}
    	}
    }

    展开全文
  • 用选择法对10个整数由大到小排序

    千次阅读 2014-05-14 10:24:10
    #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include void main() { int a[10] = { 1, 543, 65, 2334, 543, 654, 675, 24, 654, 2 }; int max;... i < 10 -
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #include<string.h>
    #include<Windows.h>
    #include<stdio.h>
    
    
    void main()
    {
    	int  a[10] = { 1, 543, 65, 2334, 543, 654, 675, 24, 654, 2 };
    	int max;
    	for (int i = 0; i < 10 - 1; i++)
    	{
    		max = a[i];		
    		for (int j = i + 1; j < 10; j++)
    		{			
    			if (max < a[j]) max = a[j];
    		}
    		a[i] = max;
    	}
    	for (int i = 0; i < 10; i++)
    	{
    		printf("%-6d",a[i]);
    	}
    	
    	
    	system("pause");
    
    }
    

    展开全文
  • #数组# #循环# #if# #include<... int a[10],i,j,t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) for(j=i+1;j<10;j++) if(a[j]<a[i]) { t=a[i]...
  • #数组# #循环# #if# #include<... int a[10],i,j,t; printf("ENTER:"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(i=0;i<9;i++)//n-1次 { for(j=0;j<9-i...
  • #include "...const int cnt=10; //所要使用的函数进行声明 void input(int *arr,int n); void output(int *arr,int n); void inputPointer(int *p,int n); void outputPointer(int *p,int n)...
  • C程序设计(第四版) 谭浩强 例7.12 个人设计例7.12 用选择法数组中10个整数由小到大排序。代码块:#include void sort(int s[], int m); //定义排序函数 int main() { int n[10], i; printf("Please enter ...
  • #include<stdio.h> int main() { void sort(int a[10]); //声明函数 int a[10]; //定义变量 ...printf(“请输入十个整数(中间用空格相隔);\n”); for(i=0;i<10;i++) //输入数据 { scanf("%d",&
  • //用选择法数组中10个整数由小到大排序。 #include <stdio.h> int main(){ void sort(int array[],int n); int i; int a[10]; for(i=0;i<10;i++){ scanf("%d",&a[i]); } sort(a,10); for...
  • 解题思路: 判断比较的躺数,每趟相邻的两数再进行比较,应用两次 for 循环 void PrintArr(int* arr, int sz) { int i = 0; for (i = 0; i &lt; sz; i++) { printf("%d ", *(arr + i)); }...
  • 用选择法对10个整数由大到小顺序排序 源代码: #include <stdio.h> void main() { void sort(int x[],int n); int *p,i,a[10]; p=a; printf("请输入10个整数:\n"); for(i=0;i<10;++i) { //...
  • 用指针方法对10个整数由大到小顺序排序 //第一种将指针作为实参,形参也是指针 #include<stdio.h> void shunxu(int a,int n) { int t; int i,j; for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if((a+j)&...
  • #include int main () { int i = 0; void sort(int array[],int n);... int a[10]; printf("enter array:\n"); for(i = 0;i < 10;i ++) { scanf("%d",&a[i]); } printf("the sorted array:\n"); for(i = 0;
  • 所谓选择法就是先将10个数中最小的数与a[0]对换;再将a[1]a[9]中最小的数与a[1]对换……每比较一轮,找出一个未经排序的数中最小的一个。共比较9轮。 2、分析过程 a[0] a[1] a[2] a[3] a[4] 3 6 1 9 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个整数 ...
  • //用指针方法对10个整数由大到小顺序排序 #include <stdio.h> void sorts(int* p, int n); int main() { int i,a[10],*p; p = a; //首先输入10个整数 for (i = 0; i < 10; i++) { scanf_s("%d", p+...
  • C程序设计(第四版) 谭浩强 例8.10 个人设计例 8.10 用指针方法对10个整数由大到小顺序排序。代码块:#include void sort(int *s, int n); //定义排序函数 int main() { int a[10], *p; printf("Please enter ...
  • 用指针方法对10个整数按由大到小的顺序排序 解题思路:在主函数中定义数组a 存放10个整数,定义int * 型指针变量p并指向a[0]。 定义函数sort使数组a中的元素按由小到大的顺序排列。 在主函数中调用sort函数,用...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 301
精华内容 120
关键字:

对10个整数由小到大排序