求大神帮我看下这个c语言程序设计错在哪里,怎么修改啊

请大神帮我看看 C语言我这个求正弦的函数的程序为什么计算结果不正确。_百度知道
请大神帮我看看 C语言我这个求正弦的函数的程序为什么计算结果不正确。
#include &stdio.h&#include &math.h&void main(){
float x,sum=0.0,r,j2=1.0,j1=1.0;
int b=3,m=0,i;
printf(&请输入数字x=&);
scanf(&%f&,&x);
for(i=1;i&=b;i++)
for(i=1;i&=b;i++)
if (((b+1)/2)%2==0)
r=-(j2/j1);
r=j2/j1;
while (fabs(r)&=1e-5);
printf(&sinx=%f,count=%d&,sum,m+1);}求正弦的公式是sinx=x-x^3/3!+x^5/5!-x^7/7!+.....要求最后一项的据对值小于10的负5次方,并且统计出满足条件时累加了多少项输入2应该输出0.909297 但是我的程序却输出了1.013205
这个是为什么?
提问者采纳
#include&&stdio.h&#include&&math.h&void&main(){& float&x,sum=0.0,r,j2=1.0,j1=1.0;& int&b=3,m=0,i;& printf(&请输入数字x=&);& scanf(&%f&,&x);& do& {& j2=1.0,j1=1.0;& &for(i=1;i&=b;i++)& & j1=i*j1;& &for(i=1;i&=b;i++)& & & & & j2=j2*x;& &if&(((b+1)/2)%2==0)& & r=-(j2/j1);& &else& & r=j2/j1;& &sum+=r;&& &m++;& &b=b+2;& }& while&(fabs(r)&=1e-5);& sum=x+& printf(&sinx=%f,count=%d\n&,sum,m+1);}这样就对了。do-while循环的开头少了j2=1.0,j1=1.0;导致结果不正确。
提问者评价
原来是这样,感谢!
其他类似问题
c语言的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c语言编程,下图是错误提示。我看不懂,求大神帮我看下错误在哪里?谢谢!_百度知道
提问者采纳
根据报错的错误提示,你程序中,目前有一个错误,一个警告。第一个报错的地方,原因是,变量n没有定义第二个,报的是警告,main函数,应该返回一个值,你程序中,是否没有返回
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
其他类似问题
c语言编程的相关知识
按默认排序
其他1条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求大神帮我看看这个程序在哪里出错了。T-T_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:268,081贴子:
求大神帮我看看这个程序在哪里出错了。T-T收藏
include &iostream&include &cmath&int main (){double a[10];cout&&"Please input ten number."&&for(int i = 0; i &= 9; i++){cin&&a[i];}double sum = 0.0;for(int j = 0 ; j&=9 ; j++){sum = sum + a[j];}average = sum/10;double add=0.0;for(int k = 0; k &= 9; k++){add= add+pow( (a[k]-average),2);}variance = add/10;cout&&sum&&endl&&average&&endl&&variance&&return 0;}无法用c free运行这个程序呢。T-T 不知道是为什么 求大神帮指出错误。T-T 求修改
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或求大神们帮我判断一下C语言这两个判断1到某个数之间的素数的程序哪个更好_百度知道
求大神们帮我判断一下C语言这两个判断1到某个数之间的素数的程序哪个更好
第# include &stdio.h&bool IsPrime(int val){ for (i = 2; i& ++i) {
if (val%i == 0) } if (i == val) else}int main(void){ scanf(&%d&, &val); for (m = 1; m &= ++m) {
if (IsPrime(m))
printf(&%d\n&, m); } return 0;} 第二# include &stdio.h&bool IsPrime(int m){ for (i = 2; i&m; ++i) {
if (m%i == 0) } if (i == m) else}void TraverseVal(int n){ for (i = 2; i &= ++i) {
if (IsPrime(i))
printf(&%d\n&, i); }}int main(void){ scanf(&%d&, &val); TraverseVal(val); return 0;}
提问者采纳
肯定第二啊编程习惯问题main函数内容能少少便阅读容易理解本质讲两函数式第二风格点
提问者评价
其他类似问题
按默认排序
其他2条回答
两算啊写函数形式已效率相差for才影响间关键
第二个清晰点,效率差不多;for (i = 2; i &= ++i)改成for(i=2; i*i &= ++i)可以提升效率
素数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁12:39:25【 转载互联网】 作者: &&|&责编:李强
&&& &为了解决用户可能碰到关于"流感问题。。c语言,程序不对。。求大神纠错"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"流感问题。。c语言,程序不对。。求大神纠错"相关的详细问题如下:有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染。请输出第m天得流感的人数。例子输入
5....#.#.@..#@..#.........4
#include&stdio.h&int main (){
int n,i,j,m,k,sum=0;
scanf (&%d&,&n);
char a[111][111]={'#'};
for(i=1;i&n+1;i++)
for(j=1;j&n+1;j++){
scanf(&%c&,&a[i][j]);
scanf(&%d&,&m);
for(k=1;k&m;k++){
for(i=1;i&n+1;i++)
for (j=1;j&n+1;j++){
if (a[i][j]=='@'){
if(a[i+1][j]=='.'){
a[i+1][j]='@';
if(a[i][j-1]=='.'){
a[i][j-1]='@';
if(a[i][j+1]=='.'){
a[i][j+1]='@';
if(a[i-1][j]=='.'){
a[i-1][j]='@';
for(i=1;i&n+1;i++)
for (j=1;j&n+1;j++){
if (a[i][j]=='@')sum++;
printf(&%d&,sum);
return 0;}===========突袭网收集的解决方案如下===========
解决方案1:&&&&for(k=1;k&m;k++) {
for(i=1;i&n+1;i++)
for(j=1;j&n+1;j++)
if(a[i][j]=='@')&//这里及之后的几个if句出现问题
if(a[i+1][j]=='.')
a[i+1][j]='@';
if(a[i][j-1]=='.')
a[i][j-1]='@';
if(a[i][j+1]=='.')
a[i][j+1]='@';
if(a[i-1][j]=='.')
a[i-1][j]='@';
}&&&&&&&&}
================可能对您有帮助================
问:有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一...答: for(k=1;k===========================================问:有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一...答:按照你的思路帮你改好啦!运行结果: 注意字符数组的使用。可以你没分,就当学习啦!太抠门了。 #includeint main(){ int n,m,i,j,t,x,g=0; char sz[103][103]; scanf("%d", &n); for(i = 1; i ===========================================问:问题:编写人机对话形式进行加减乘除的运算。用户没输入一次运算数和运...答:i++;可以写在switc语句里面,但是如果写在switc语句里面,就要在每一个case、default中都加上i++; 你可以用很简洁的方式解决问题,也可以用很繁琐的方式解决问题,就是这个区别。===========================================问:#include&stdio.h& main() { int m,h; char s[10][10]; printf("enter m...答:在gets函数前要吸收字符 回车 正确的程序如下 #include main() { int m,h; char s[10][10]; printf("enter m:"); scanf("%d",&m); printf("%d string\n",m); for(h=0;h===========================================问:目标是要实现这个的计算:智育素质测评成绩=∑(课程百分制成绩×该课程学...答:struct mark { float xf1; }one 最后少了个分号===========================================问:求GCD和LCM,即指求最大公约数和最小公倍数。 写两个函数,分别求两个整...答:检查你的func2函数,只有一个条件返回,如果条件不满足,并没有返回值===========================================问:编译通过,输入数据也没问题,约定了编号num为0时退出。但是当满足p-&nu...答:void save(book *head) // 保存输入的数据 { FILE * book *p; p= if(p!=NULL) {fp=fopen("library.txt","w+"); while(p!=NULL) {fprintf(fp,"%d,%s,%s,%s,%s,%d",&p-&num,p-&name,p-&writer,p-&publish,p-&date,&p-&price); p=p-&}...===========================================问:编译通过,输入数据也没问题,约定了编号num为0时退出。但是当满足p-&nu...答:static 是在程序运行过程中只初始化一次。 gotoloop之后结果肯定不正确了。因为static m没有被重新赋值。 ===========================================问:这是一个 统计正文中 字符数 单词数 输入行行数的程序。出错了,运行时...答:scanf("%s",a) -----& scanf("%s", &a);===========================================

我要回帖

更多关于 c语言 的文章

 

随机推荐