有多少小于当前数字的数字
#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;
}
运行结果: