首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这个程序哪里错啦。求解说。多谢啦

2012-04-21 
这个程序哪里错啦。求解说。谢谢啦。#include stdio.hmain(){int q1,z,i,n,t1,s0,m1scanf (%d,&n)f

这个程序哪里错啦。求解说。谢谢啦。
#include <stdio.h>
main()
{
int q=1,z,i,n,t=1,s=0,m=1;
scanf ("%d",&n);
for (i=1;i<=n;i++)
{t=2*i-1;
for (z=1;z<=t;z++)
m=m*z;
q=(-1)^(i-1);
s=s+q/m;
}
printf("s=%d\n",s);
}
题目:编程计算1-1/3!+1/5!-1/7!+...+(-1)^(n-1)/(2n-1)!,其中n的值在程序运行时由键盘输入。

[解决办法]
你用的都是整形int,除完以后小数点都被忽略了.还有q=(-1)^(i-1);这个也不对,C语言中貌似^表示异或吧.
[解决办法]
s=s+q%m;
printf("s=%f\n",s);
另 s定义为float试试



[解决办法]
1. 除用于循环记数的变量用int外,其它的都用double或者float吧
2. 去查查C语言的书,看看^是啥意思。

热点排行