成都私家侦探收费标准:请教一下编程问题,编写程序,求1-3+5-7+....-99+101的值!

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 12:00:49
我是这样写的程序,请问一下有没有比这个更简单的写法呢?谢谢各位,请指教以下!
#include "stdio.h"
main()
{
int s,n,t,pi;
t=1;
pi=0;
n=1;
s=1;
while(s<=101)
{s+=2;pi=pi+t; n=-n;t=s/n;}

printf("pi=%d\n",pi);
}
下边的代码我都试过了不行,代码出错了.

提示什么错误?你有没有把函数放在调用之前,或在调用之前先声明?不好意思,我一符冒号写成分号了

你那样效率也太低了吧,那算那么多次,怎么不一次搞定,写成函数还能处理不同情况,试一下下面的:
#include "stdio.h"
int pi(int n)
{ if(n>0)
return 1+(n/2);
else
return (n-1)/2;}
main()
{ printf("pi=%d\n",pi(101));}

////最短的代码
#include "stdio.h"
int pi(int n)
{ return n>0?(1+n/2):((n-1)/2); }
main()
{ printf("pi=%d\n",pi(101));}

main()
{int sum=0,i=1;
while(s<=101)
{sum+=(i/2%2?-i:i);
i+=2;}
printf("sum=%d",sum);}
这个怎么样?
只用了两个变量哦

i等于1到101循环步长2
如果i/2取模大于0则加上负i否则直接加i

当然有,你想,把两个两个地一组合,结果不就容易了?
数学的东西。