对10个整数按由大到小排序
来源:互联网 发布:泰拉瑞亚数据库 编辑:程序博客网 时间:2024/06/11 23:45
先有思路后有代码:
思路:在主函数中定义一个数组用来存放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; } }}
阅读全文
0 0
- 对10个整数按由大到小排序
- 用选择法对10个整数由大到小排序
- 用选择法对10个整数由大到小排序
- 用指针方法对10个整数由大到小排序
- 用指针方法对10个整数按由大到小的顺序排序
- 用选择法对数组中10个整数由大到小排序
- 用选择法对数组中10个整数按由小到大排序。
- 例7.12用选择法对数组中10个整数按由小到大排序。
- 用选择法对数组中10个整数按由小到大排序
- 用指针方法对10个整数按由小到大的顺序排序
- 用选择法对数组中10个整数按由小到大排序
- 例7.12 用选择法对数组中10个整数按由小到大排序。
- 用选择法对10个整数由大到小排列
- 学习C/C++语言:用选择法对SIZE个整数由大到小顺序排序
- 选择法对10个整数按从小到大顺序排序
- 输入10个整型整数,用选择法对这10个数排序,并该由大到小顺序在屏幕上输出。
- 10月24日 c语言 用指针方法对10个整数按由大到小顺序排列
- 用冒泡法将10个整数进行由大到小排序(数组)
- jQuery Mobile 所有class选项,开发全解+完美注释
- 1426_找零钱的程序
- USB mass storage协议
- 度度熊与邪恶大魔王 百度之星
- D.3被3或者5整除的数
- 对10个整数按由大到小排序
- priority_queue优先队列
- 设计模式:javascript原型式继承
- jQuery Mobile事件,开发全解+完美注释
- 博弈
- python的yield使用
- 杭电 OJ 最简单的计算机
- tf.nn.embedding_lookup TensorFlow embedding_lookup 函数最简单实例
- MySQL5.6新特性之crash-safe