#include<stdio.h> int main() { int i = 0; int result = 0; int n = 0; scanf("%d",&n); for(i=1;i<=n;i++) { if(i%2 ==0) { result =result-i; } else { result = result +i; } } printf("%d",result); return 0; }
#include <stdio.h> int main() { //方法一 分成奇偶部分 // int n = 0; // scanf("%d", &n); // int i = 0; // int sum1 =0, sum2 = 0; // for(i = 1;i <=n; i+=2) //计算奇数部分的和 // { // sum1 += i; // } // for(i = 2; i<=n;i+=2) //计算偶数部分 // { // sum2 += i; // } // printf("%d",sum1-sum2); //方法二 可以在优化成两个等差数列的和 int n = 0; scanf("%d", &n); if(n%2 ==0) { //有n/2个负,1-2 =-1 3-4 = -1 printf("%d",-n/2); } else { //1-2 =-1 3-4 =-1 5 printf("%d",-(n-1)/2 + n); } return 0; }
#include <stdio.h> int main() { // 准备变量n,为运算的边界值 int n; // 准备变量sum,接收运算的结果 int sum = 0; while (scanf("%d", &n) != EOF) { for (int i = 1; i <= n; i++) { // 一般情况 // round 1 -> sum = 0, i = 1, sum = sum + i = 1 // round 2 -> sum = 1, i = 2, sum = sum + i = 3 // round 3 -> sum = 3, i = 3, sum = sum + i = 6 // 题目要求当i为偶数时,取负号 if (i % 2 == 0) { sum = sum + (-1 * i); } else { sum = sum + i; } } printf("%d\n", sum); } return 0; }
#include <stdio.h> int main( ) { int n, sum; scanf("%d", &n); if (n % 2 == 0) { sum = (-n) / 2; } else { sum = (-n) / 2 + n; } printf("%d", sum); return 0; }