用pascal编一程序,用高精度运算,求n的累加和(1+2+3+.....

用pascal编一程序,用高精度运算,求n的累加和(1+2+3+.....,第1张

擦,那也是推荐答案?!我愤怒了!

高精度加法程序如下:

program HighPrecision1_Plus;

const

fn_inp='hp1inp';

fn_out='hp1out';

maxlen=100; { 数的最大长度 }

type

hp=record

len:integer; { 数的长度 }

s:array[1maxlen] of integer

{ s[1]为最低位,s[len]为最高位 }

end;

var

x:array[12] of hp;

y:hp; { x:输入 ; y:输出 }

procedure PrintHP(const p:hp);

var i:integer;

begin

for i:=plen downto 1 do write(ps[i]);

end;

procedure init; {初始化}

var

st:string;

j,i:integer;

begin

assign(input,fn_inp);

reset(input);

for j:=1 to 2 do

begin

readln(st);

x[j]len:=length(st);

for i:=1 to x[j]len do { 将字符串转换到HP }

x[j]s[i]:=ord(st[x[j]len+1-i])-ord('0');

end;

close(input);

end;

procedure Plus(a,b:hp;var c:hp); { c:=a+b }

var i,len:integer;

begin

fillchar(c,sizeof(c),0);

if alen>blen then len:=alen { 从a,b中取较大长度 }

else len:=blen;

for i:=1 to len do { 从低到高相加 }

begin

inc(cs[i],as[i]+bs[i]);

if cs[i]>=10 then

begin

dec(cs[i],10); {cs[i]:= cs[i]-10}

inc(cs[i+1]); { 加1到高位 }

end;

end;

if cs[len+1]>0 then inc(len);

clen:=len;

end;

procedure out; {打印输出}

begin

assign(output,fn_out);

rewrite(output);

PrintHP(y);

writeln;

close(output);

end;

begin

init;

Plus(x[1],x[2],y);

out;

end

#include <stdioh>

void main()

{

int i,d=1,s=0;

for(i=1;i<=20;i++)

{s+=id;d=-d;}

printf("s=%d",s);

}

以上就是关于用pascal编一程序,用高精度运算,求n的累加和(1+2+3+.....全部的内容,包括:用pascal编一程序,用高精度运算,求n的累加和(1+2+3+.....、编写程序计算以下累加和的结果1-2 +3-4 +5-6....-20的结果并把结果通过窗体、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9295170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存