有多少小于当前数字的数字

cs 复制代码
#include <stdio.h>

#define lenth 10
int main()
{

    //问:有多少小于当前数字的数字
    //1、给定一个数组
    //1.1 定义一个count用于计数
    //1.2 定义一个名为sma_cmp的数组,用于存放比当前数字小的个数,长度为lenth
    //1.3 定义一个变量cmp,存储数组当前的元素,将其于数组的元素进行比对
    //1.4 嵌套for循环,i、j。当下标为0时,将该元素与整个数组元素进行大小比对
    //2、for循环判断数组中的当前元素多少个元素是比当前小的,如果小于且不等于则count++
    //3、统计完成后,将该计数值添加到sma_cmp数组中
    //4、将count的值重新置为0
    //5、比对结束
    //6、主函数for循环输出sma_cmp的数组

    int arr[] = {8,1,2,2,3};                     //对比数组    
    int sam_cmp[lenth] = {};                     //存放比当前数字小的个数 ---要给数组预留空间,否则会存入垃圾值
    int count;                                   //计数器
    int sz = sizeof(arr) / sizeof(arr[0]);       //计算数组长度
    int cmp = 0;                                 //存放要比较的数字
                             
    for(int i = 0; i < sz; i++)
    {
        count = 0;                               //开始之前清0,以便下次对比
        cmp = arr[i];                            //cmp = 数组的下标元素
        for(int j = 0; j < sz; j++)
        {
            if(cmp > arr[j] && cmp != arr[j])    //对比小于且不等于
           {
            count++;
           }     
        }
        sam_cmp[i] = count;                      //将小于的个数放入到sam_cmp数组当中
    }
    //for循环遍历sam_cmp数组
    for(int i = 0; i < sz; i++)
    {
        printf("%d ",sam_cmp[i]);                //输出对比后的结果
    }
    return 0;
}

运行结果:

相关推荐
c238568 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
好好沉淀8 小时前
@NotBlank(message = “{xxx}“) 注解中花括号的含义
java
fīɡЙtīиɡ ℡8 小时前
内存泄漏产生的原因
java·spring·servlet
aaaameliaaa9 小时前
指针之总结
c语言·笔记·算法
宵时待雨9 小时前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz10 小时前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf21610 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
码智社10 小时前
Java实现RSA密钥生成、加密解密、加签验签
java
wear工程师10 小时前
ThreadLocal 在线程池里为什么会串数据:别只会答内存泄漏
java·后端
Iruoyaoxh10 小时前
栈和队列~
java·开发语言