大家别笑 我刚学 这是自己编的 帮我看看哪里错了 谢谢
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);
}
大家别笑 我刚学 这是自己编的 帮我看看哪里错了 谢谢
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。数据溢出(主要是第二部分,由于是阶乘的问题,所以如果不考虑精度的话就应该用浮点型)
我正在设计求解