#include #include #include #define SIZE 1024 // 基础向量加法函数 void vector_add(float* A, float* B, float* C, int size) { for (int i = 0; i < size; ++i) { C[i] = A[i] + B[i]; } } int main() { srand(time(NULL)); // 动态分配内存,并检查是否分配成功 float *A = (float *)malloc(SIZE * sizeof(float)); float *B = (float *)malloc(SIZE * sizeof(float)); float *C = (float *)malloc(SIZE * sizeof(float)); // 随机初始化,生成0到99之间的随机浮点数 for (int i = 0; i < SIZE; i++) { A[i] = (float)(rand() % 100) / 100.0f; B[i] = (float)(rand() % 100) / 100.0f; } clock_t start = clock(); vector_add(A, B, C, SIZE); clock_t end = clock(); // 计算并输出向量加法的时间 double time_spent = double(end - start) / CLOCKS_PER_SEC; printf("使用基础的向量加法:\n当SIZE取%d时,初始向量加法时间:%lf秒\n", SIZE,time_spent); // 释放动态分配的内存 free(A);free(B);free(C); }