#include<stdio.h> #include<stdlib.h> #define random(x) (rand()%x) #define lenre 1 #define lenpa 10 void print(int[], int); void sort(int[], int); void main() { int result[lenre] = {0}; int params[lenpa]; //int params[lenpa] = {0}; int i; memset(result, 0 ,sizeof(result)/sizeof(result[0])); for(i = 0; i < lenpa; i++) { params[i] = random(100); } printf("初始值:"); print(params, lenpa); for(i = 0; i < lenpa ; i++) { if(i < lenre){ result[0] = params[i]; }else{ if(result[0] < params[i]) { result[0] = params[i]; }//else{ // continue; //} } printf("第 %d 趟排序前:", (i+1)); print(result, lenre); sort(result, lenre); printf("第 %d 趟排序后:", (i+1)); print(result, lenre); } printf("取值top(%d)结果:", lenre); print(result, lenre); } void print(int a[], int z) { int x; for(x=0;x<z;x++) { printf("%d ",a[x]); } printf("\n"); } void sort(int result[], int len) { int z; for(z = 0; z < len; z++) { if(z + 1 <= len && result[z] > result[z+1]) { int temp = result[z]; result[z] = result[z + 1]; result[z + 1] = temp; }else { break; } } }
运行结果:
初始值:41 67 34 0 69 24 78 58 62 64
第 1 趟排序前:41 0 0 0 0
第 1 趟排序后:0 0 0 0 41
第 2 趟排序前:67 0 0 0 41
第 2 趟排序后:0 0 0 41 67
第 3 趟排序前:34 0 0 41 67
第 3 趟排序后:0 0 34 41 67
第 4 趟排序前:0 0 34 41 67
第 4 趟排序后:0 0 34 41 67
第 5 趟排序前:69 0 34 41 67
第 5 趟排序后:0 34 41 67 69
第 6 趟排序前:24 34 41 67 69
第 6 趟排序后:24 34 41 67 69
第 7 趟排序前:78 34 41 67 69
第 7 趟排序后:34 41 67 69 78
第 8 趟排序前:58 41 67 69 78
第 8 趟排序后:41 58 67 69 78
第 9 趟排序前:62 58 67 69 78
第 9 趟排序后:58 62 67 69 78
第 10 趟排序前:64 62 67 69 78
第 10 趟排序后:62 64 67 69 78
取值top(5)结果:62 64 67 69 78
相关推荐
VB 求多个数的最大公约数,这应该是个比较简单的数学算法例子,求指定多个数的最大公约数,源码中请详细代码。部分代码如下: Private Function big(ByVal m%, ByVal n%) As Integer '自定义函数 If m < n Then ...
在C语言中,求两个数的最大公约数通常有两种常见方法:辗转相除法(欧几里得算法)和更相减损法。 1. **辗转相除法**:基于更小的数能整除两数之差的性质,不断用较小的数去除较大的数,直至两数相等,此时的数即为...
在`main`方法中,程序通过`JOptionPane.showInputDialog`函数接收用户输入的两个整数`m`和`n`,然后创建`hcf`类的对象,并调用`gcd`和`gcd1`方法来计算并打印这两个数的最大公约数。这里展示了如何在Java中使用标准...
1. **边界条件检查**:在`gcd`函数中,加入对n是否大于m的判断,以确保较小的数作为递归参数的第二个参数。 2. **异常处理**:增加对非法输入(如非正整数)的处理,提高程序的健壮性。 3. **性能测试**:使用大量...
- 要求将这个序列分割为 m 个连续的子序列(每段子序列中的数在原序列中必须连续排列)。 - 目标是最小化这些子序列的和的最大值。 #### 输入输出格式 **输入**: - 第一行包含两个整数 n 和 m,分别表示序列的长度...
二、输入两个正整数m、n,完成如下功能:(根据题目要求调用上述功能函数)(1)求出m和n两个数之间所有“明7暗7”数,即数字中有7或能整除7,如37,63.(2)分别求出m! 和 n!(3)求m和n的最大公约数和最小公倍数。...
输入两个正整数m和n,求其最大公约数和最小公倍 数。
代码首先读取用户输入的两个整数m和n,然后根据较大的数赋值给p,较小的数赋值给q。接下来,代码使用while循环和欧几里得算法来计算p和q的最大公约数,并将结果存储在变量q中。最后,通过已知的最大公约数计算出最小...
Java练习题:输入两个正整数m和n,求其最大公因数和最小公倍数
### 递归算法求两个数的最大公约数 #### 1. 递归方法解析 **递归算法**是一种解决问题的方法,其中函数通过调用自身来解决问题。递归算法的关键在于找到一个基本结束条件(base case),以及如何将问题分解成更小...
欧几里德算法,俗称求m,n最大公约数,使用java实现,在网上看其他的都是用其他语言实现的。
标题中的“python实现n个数中选出m个数的方法”是指在Python编程环境中,如何从一个包含n个元素的集合中选择出m个元素的所有可能组合。这个问题在计算机科学和算法设计中通常被称为组合问题,它涉及到组合数学和回溯...
在给定的"Java求两个数的最大公约数、最小公倍数.rar"压缩包文件中,可能包含了上述代码的实现。解压并查看`codesc.net`文件或相关源码文件,可以进一步学习和理解这个算法的具体实现。这个简单的例子展示了Java在...
最大公约数(Greatest Common Divisor, GCD),指的是两个或多个整数共有的约数中最大的一个。例如,数字12和18的最大公约数是6。 #### 最小公倍数(LCM) 最小公倍数(Least Common Multiple, LCM),是指能同时被...
43. **数列求和**:找到满足条件的最大n,然后计算数列之和。 44. **筛选特定数列**:使用循环过滤出不满足条件的数。 45. **Fibonacci数列**:递归或迭代计算Fibonacci数列的前40项。 46. **密码加密**:根据...
统计1到n之间所有含1的数字个数f(n),并找出n以内最大的那个f(m)=m的值,f(n)的时间复杂度为O(logn),找最大的那个f(m)=m的值的时间复杂度为O(n)。 思路和一位叫深海蓝天的哥们一样,不过那哥们提供的程序当n=...
标题中的“求小于m的最大10个素数”是一个经典的编程问题,主要涉及数学和算法的知识,特别是素数检测和数组处理。在这个问题中,我们需要找到小于给定整数m的所有素数,并输出其中最大的10个。描述部分进一步确认了...
C语言编程-用函数求N个[10,60]上的整数中能被5整除的最大的数,如存在则返回这个最大值,如果不存在则返回0;
在MATLAB中,计算两个数的最大公约数(Greatest Common Divisor, GCD)是一项基本操作,常用于处理数学问题、编码算法或是优化程序。MATLAB提供了内置函数`gcd()`来方便用户进行这一计算。本篇文章将深入探讨如何...
从键盘先后输入两个不大于9999的正整数m和n,若m>n,则交换两数。然后求m~n(m和n均为正整数且m≤n)之间的所有完数。 【输入形式】 先后输入两个正整数m和n,用逗号分隔 【输出形式】 输出所有完数,每两个数...