#include #include // 比较函数,用于排序 int compare(const void *a, const void *b) { return (*(int *)a - *(int *)b); } int main() { int a[10]; // 数组a,无序 int b[5]; // 数组b,升序 int c[4] = {0}; // 结果数组c,包含4个元素,对应于b的前4个元素之间的区间 int i, k; // 读取数组a for (i = 0; i < 10; ++i) { scanf("%d", &a[i]); } // 读取数组b for (i = 0; i < 5; ++i) { scanf("%d", &b[i]); } // 对数组a进行排序 qsort(a, 10, sizeof(int), compare); printf("c = "); // 遍历数组b的每个区间[b[k], b[k+1]] for (k = 0; k < 4; ++k) { int left = 0; // 区间开始位置 int right = 0; // 区间结束位置 // 找到大于b[k]的第一个元素位置 while (right < 10 && a[right] <= b[k]) { right++; } // 统计大于b[k]小于b[k+1]的元素个数 while (right < 10 && a[right] < b[k + 1]) { right++; c[k]++; } } // 输出结果数组c for (i = 0; i < 4; ++i) { printf("%d ", c[i]); } printf("\n"); return 0; }