Compare commits

..

No commits in common. '111' and 'main' have entirely different histories.
111 ... main

@ -1,46 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 1024
// 向量加法函数
void vector_add(float* A, float* B, float* C, int size) {
for (int i = 0; i < size; ++i) { // 在循环内部声明i
C[i] = A[i] + B[i];
}
}
int main() {
// 定义向量
float A[SIZE], B[SIZE], C[SIZE];
// 初始化随机数种子
srand(time(0));
// 初始化向量 A 和 B
for (int i = 0; i < SIZE; ++i) { // 在循环内部声明i
A[i] = (float)(rand() % 100) / 100.0f; // 生成0到1之间的浮点数
B[i] = (float)(rand() % 100) / 100.0f;
}
// 多次执行以获得更准确的时间测量
const int NUM_ITERATIONS = 1000;
clock_t total_time = 0;
for (int j = 0; j < NUM_ITERATIONS; ++j) {
clock_t start = clock();
vector_add(A, B, C, SIZE); // 执行向量加法
clock_t end = clock();
total_time += (end - start);
}
// 输均运行时间
printf("基础向量加法平均运行时间: %.6f 秒\n", (double)total_time / (CLOCKS_PER_SEC * NUM_ITERATIONS));
// 可选:验证前几个元素的结果
for (int k = 0; k < 5; ++k) {
printf("A[%d] + B[%d] = C[%d]: %.2f + %.2f = %.2f\n", k, k, k, A[k], B[k], C[k]);
}
return 0;
}
Loading…
Cancel
Save