C算法&面试题C语言

【C编程】计算当参数为n(n很大)时的值 1-2+3-4+5-6

2020-05-16  本文已影响0人  逐风墨客
/*=========================================
* Copyright (c) 2020, 逐风墨客
* All rights reserved.
* 功能描述:计算1-2+3-4+5-6+7......+n!
* 所用函数:long acc_add(long n)
* 返回值:累加值
=========================================*/

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  long acc_add(long n);
  long lNum;
  long lSum;

  printf("\nPlease enter a number to accumulate : ");
  scanf("%ld", &lNum);
  lSum = acc_add(lNum);
  printf("This sums is : %ld", lSum);

  return 0;
}

long acc_add(long n)
{
  if (n <= 0)
  {
    printf("error : n must > 0!\n");
    exit(1);
  } 

  if (0 == n%2)
  {
    return (n / 2) * (-1);
  }
  else
  {
    return (n / 2) * (-1) + n;
  }

}

上一篇 下一篇

猜你喜欢

热点阅读