例如数据是2个一维的数组,也可以把这两个并成1个2维数组 我想计算 0位置 2 1 这两个在后面(如 1 1 ;3 1 。。。。)的情况没有重复时候 计数+1 |
|
20分 |
这样可好:
int data_1[10] = { 2, 1, 3, 5, 2, 8, 2, 8, 9, 10 }; int data_2[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; int data[9]; int comp(void *a, void *b) { return *(int*)a - *(int*)b; } int main(void) { int i, n; for (i = 1; i < 10; i++) data[i - 1] = data_1[i] * 10 + data_2[i]; qsort(data, 9, sizeof(int), comp); n = 9; for (i = 1; i < 9; i++) { if (data[i] == data[i-1]) n--; } printf("%d\n", n); return 0; } |
谢谢你的回复,有个问题,为什么data是9 不是10个数么,不过你的思路很好,谢谢
|