当前位置: 代码迷 >> C语言 >> [求助]求1~100的和+1!~20!之和+1/1~1/10之和
  详细解决方案

[求助]求1~100的和+1!~20!之和+1/1~1/10之和

热度:439   发布时间:2004-10-16 18:13:00.0
[求助]求1~100的和+1!~20!之和+1/1~1/10之和

大家别笑 我刚学 这是自己编的 帮我看看哪里错了 谢谢

main( )

{int i,t,u,v,w,sum;float sum1,sum2,x;

do{t=t+i; i++;}

while(i<=100);

do{u=u*w; w++;

sum=u+u*w;}

while(w<=20);

do{k=1/x;x++;

sum1=k+1/x;}

while(1<=10);

sum2=t+sum+sum1;

printf("f%",sum2);

}

搜索更多相关的解决方案: 之和  

----------------解决方案--------------------------------------------------------

只有一个print函数

他就只输出sum2而已

把程序分3个来写吧.

要不然就多加两个printf.还是建议分3个来写.


----------------解决方案--------------------------------------------------------

不是 可能是我的题目说的不明白

是求他们三个的垒加和的和~~就是1+2+.......+100的和再加1的阶乘+2的阶乘+....+20的阶乘

最后加上1/1+1/2+..................+1/10的和


----------------解决方案--------------------------------------------------------
谢谢了 下了~
----------------解决方案--------------------------------------------------------

program test;

var s,r:integer; i,j,k:real; begin

for r:=1 to 100 do s:=s+r; writeln('s=',s);

writeln;

i:=1; for r:=1 to 20 do begin i:=i*r; j:=j+i; end; writeln('j=',j); writeln;

for r:=1 to 10 do begin i:=r; i:=1/i; k:=k+i; end; writeln('k=',k); writeln;

readln;

end.


----------------解决方案--------------------------------------------------------

昨天在旧书摊上花了两块钱卖了一本APPLEII PASCAL,看了一天,现在一时兴起就写了这个玩意,见笑了,有什么不妥之处敬请PASCAL达人指点一二。


----------------解决方案--------------------------------------------------------

我自认为高手,等一下我写一个标准的啊――自认为!如果不明白联系我!!!!


----------------解决方案--------------------------------------------------------

你第一个循环1+..100的循环里面的t在后面都没用上.

sum2=sum+sum1+sum1;

第2个循环u,w,sum等的初始值没给.

建议先分3个循环做出答案调试成功后用调用,要是不习惯调用的话,一样也先分别做出3个循环的结果.


----------------解决方案--------------------------------------------------------

哈哈哈,刚才随便写了一下发现,这个问题,正是考验一个人啊。我发现用汇编或许更容易啊。不过楼主写的绝对错了:首先定义的变量初始化没有――不是很规范对于不同的编译器可能结果不一样;

其次sum=u+u*w;写为sum+=u;才对吧,这里 sum1=k+1/x;也应该写为sum1+=k;才对啊;

最后就是本题最核心的――1。精度(主要是指的第三部分,这一部分还是很好解决的;但是第二部分的对于C中的任何的基本数据类型都不能解决,要自己构造,并且要自己设置求解的函数)

2。数据溢出(主要是第二部分,由于是阶乘的问题,所以如果不考虑精度的话就应该用浮点型)

我正在设计求解


----------------解决方案--------------------------------------------------------
main(  )
{  int i=1,t=0,u=1,,w=1,sum=0;
   float sum1,sum2,x=1.0,k;
   do{t=t+i; i++;}
   while(i&lt;=100);
   for(i=0;i&lt;=20;i++)
    for(;w&lt;=i;w++)
       {u=w*u;
        sum=sum+u;}
     do{  k=1/x;
        x++;
        sum1=k+sum1;}
      while(1&lt;=10);
     sum2=t+sum+sum1;
     printf("%f",sum2);
    getch();
}
不知这样对否!我个人认为是这样的,楼主那个程序问题多!如果可以认真想一下就可以了!
----------------解决方案--------------------------------------------------------
  相关解决方案