用C语言实现1~n的累加和以及求解时间
时间: 2024-09-07 18:04:47 浏览: 41
在C语言中,计算1到n的累加和通常会使用循环结构。这是一个简单的示例:
```c
#include <stdio.h>
// 定义函数求累加和
long long sum(int n) {
long long result = 0; // 初始化结果为0
for (int i = 1; i <= n; i++) { // 从1遍历到n
result += i; // 每次迭代将当前数加到总和上
}
return result;
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
long long total_sum = sum(n);
printf("1到%d的累加和为: %lld\n", n, total_sum);
// 计算并打印运行时间(这里需要依赖于特定环境的性能分析工具,因为C标准库本身并不提供计时功能)
#ifdef _WIN32
struct _timespec start, end;
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
long long sum_result = sum(n);
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
long double time_diff = ((double)(end.tv_nsec - start.tv_nsec)) / NSEC_PER_SEC + ((double)(end.tv_sec - start.tv_sec));
printf("计算时间(秒): %.6f\n", time_diff);
#else
// Unix-like系统可以使用clock_gettime和CLOCKS_PER_SEC
// 实现略
#endif
return 0;
}
```
这段代码首先定义了一个求累加和的函数`sum()`,然后在`main()`中获取用户输入的n值,计算累加和,并展示了如何(在某些平台上)计算代码执行的时间。
阅读全文