C语言题目描述 f(n)=-1+2-3+..+((-1)^n)*n 你的任务是给定n,计算f(n)的值 输入格式 每组数据第一行为一个正整数n(n在int范围内) 输出格式 输出f(n)的值
时间: 2023-09-01 18:12:51 浏览: 117
C语言程序设计-计算并输出给定整数n的所有因子之和(不包括1与自身);注意:n的值不大于1000.c
5星 · 资源好评率100%
以下是 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int sum = 0;
int sign = -1;
for (int i = 1; i <= n; i++) {
sum += sign * i;
sign *= -1; // 每次改变符号
}
printf("%d\n", sum);
return 0;
}
```
算法思路:
通过循环实现对每一项的求和,同时维护一个符号变量 sign,用来控制每一项的符号。在每次循环中,将当前项的值乘以符号 sign,并将其加到总和 sum 中,然后将符号 sign 改为相反数,以便下一轮循环使用。
时间复杂度:$O(n)$。
阅读全文