列表

详情


EP2. 嵌入式宏空间坐标数量

描述

我们经常使用的点类Point结构体,其中包含两个int变量x与y,这是属于二维平面上点类。现假设我们的点类Point是属于多维空间中的点,其中包含多个相同类型(类型未知)的变量(第一个一定是x)表示坐标,你能否使用宏定义的方式,从使用空间的角度算出这个点类有多少个变量?

示例1

输入:

(1,3)

输出:

2

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 2ms, 内存消耗: 276KB, 提交时间: 2022-08-04

/**
 * struct Point {
 *	int x;
 *	int y;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param point Point类 上方struct仅为二维空间点类示例,题中为多维空间的点类
 * @return int整型
 */
#define LENGTH(point)  (sizeof(point)/sizeof(int))
int define_count(struct Point point ) {
    // write code here
    return LENGTH(point);
}

C 解法, 执行用时: 2ms, 内存消耗: 280KB, 提交时间: 2022-08-05

/**
 * struct Point {
 *	int x;
 *	int y;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param point Point类 上方struct仅为二维空间点类示例,题中为多维空间的点类
 * @return int整型
 */
#define length  (sizeof(point)/sizeof(int))
int define_count(struct Point point ) 
{
    return length;
    // write code here
}

C 解法, 执行用时: 2ms, 内存消耗: 284KB, 提交时间: 2022-08-04

/**
 * struct Point {
 *	int x;
 *	int y;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param point Point类 上方struct仅为二维空间点类示例,题中为多维空间的点类
 * @return int整型
 */
#define s(x)    sizeof(x)/4
int define_count(struct Point point ) {
    // write code here
    return s(point);
}

C 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 2022-08-05

/**
 * struct Point {
 *	int x;
 *	int y;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param point Point类 上方struct仅为二维空间点类示例,题中为多维空间的点类
 * @return int整型
 */
#define len(a) (sizeof(a)/sizeof(int))
int define_count(struct Point point ) {
    // write code here
    return len(point);
}

C 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 2022-08-04

/**
 * struct Point {
 *	int x;
 *	int y;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param point Point类 上方struct仅为二维空间点类示例,题中为多维空间的点类
 * @return int整型
 */
#define cal(x) sizeof(x)/sizeof(int)
int define_count(struct Point point ) {
    return cal(point);
}

上一题