小问题,求小伙伴指导
#include"stdio.h"#define m5
#define n4
double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size)
{
int i, j, t, a;
double mid_digit;
for(i = 0, j = 0; i < nums1Size; j++, i++)
{
a = nums1;
}
for(i = nums1Size, j = 0; i < nums1Size + nums2Size; i++)
{
a = nums2;
j++;
}
for(i = 0; i < (nums1Size+ nums2Size) - 1; i++)
{
for(j = i + 1; j < nums1Size + nums2Size; j++)
{
if(a > a)
{
t = a;
a = a;
a = t;
}
}
}
if((nums1Size + nums2Size) % 2 != 0)
{
return mid_digit = 1.0 * a[(nums1Size + nums2Size) / 2];
}
else
{
mid_digit = (a[(nums1Size + nums2Size - 1) / 2] + a[(nums1Size + nums2Size + 1) / 2]) / 2;
return mid_digit;
}
int main()
{
int m, n, i, j;
double mid_digit;
//printf("Please input the size of array nums1 and nums2:");
//scanf("%d%d", &m, &n);
int nums1, nums2;
printf("Please input some numbers:\n");
for(i = 0; i < m; i++)
{
scanf("%d", nums1);
}
for(j = 0; j < n; j++)
{
scanf("%d", nums2);
}
mid_digit = findMedianSortedArrays(nums1, m, nums2, n);
printf("The middle digit is %.1lf\n", mid_digit);
return 0;
}
}
报错2 13 C:\c程序\JOB\寻找两个有序数组的中位数.c expected identifier or '(' before numeric constant #include <stdio.h>
#define M 5
#define N 4 数组a的定义不能用变量,a;
大括号的位置也有问题 shake_a_tree@16 发表于 2020-1-28 20:02
数组a的定义不能用变量,a;
大括号的位置也有问题
这是形参喔,实参用了预定义 love_qj 发表于 2020-1-29 14:18
这是形参喔,实参用了预定义
这还是小问题,我还看不懂! love_qj 发表于 2020-1-29 14:18
这是形参喔,实参用了预定义
跟形参实参没有关系,数组定义就有问题 #define m5
#define n4
int m, n, i, j;
double mid_digit;
//printf("Please input the size of array nums1 and nums2:");
//scanf("%d%d", &m, &n);
int nums1, nums2;
我觉得这里的m,n并没有使用你宏定义的5和4,而是主函数里 int m,n,把这句删了试试看
页:
[1]