
#include <stdio.h>
// 第一种解法
int sum_1(int n)
{
int sum;
int i;
sum=1;
for(i=2;i<=n;i++)
{
if(i%2==0)
{
sum=sum+i;
}
else
{
sum=sum-i;
}
}
return sum;
}
//第二种解法
int sum_2(long n)
{
int flag=1;
long sum=1;
long i;
for(i=2;i<=n;i++)
{
sum+=flag*i;
flag=flag*(-1);
}
return sum;
}
/**/ //第三种解法
int sum_3(long n)
{
if(n<=0)
{
printf("error:n must>0");
exit(0);
}
if(n%2==0)
return n/2+2;
else
return -n/2+1;
}
// 第三种解法
int sum_4(int n)
{
char str[n];
int i;
int sum=0;
str[0]=1;
for(i=1;i<n;i++)
{
if(i%2==1)
str[i]=i+1;
else
str[i]=-(i+1);
}
for(i=0;i<n;i++)
{
sum+=str[i];
}
return sum;
}
int main(int argc,char *argv[])
{
int i;
i=atoi(argv[1]);
printf("第一种解法:%d \n",sum_1(i));
printf("第二种解法:%d \n",sum_2(i));
printf("第三种解法:%d \n",sum_3(i));
printf("第四种解法:%d \n",sum_4(i));
printf("\n");
return 0;
}