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;
}
运行结果:
