请您留下宝贵的建议吧:)
广西百色高中欢迎您!

| 网站首页 | 学校概况 | 软件下载 | 图片中心 | 雁过留声 | 视频资源 | 校长信箱 | 内 部 网 |
| 同 学 录 | 网络办公 | 教学课件 | 优秀教案 | 试卷下载 | 教学素材 | 教学论文 | 电子图书 |

 
您现在的位置: 广西百色高中校园网 >> 学校概况 >> 学生频道 >> 信息技术 >> 精典程序 >> 文章正文 用户登录 新用户注册
   
   

高精度减法          【字体:
高精度减法
作者:仔仔    文章来源:本站原创    点击数:    更新时间:2006-9-26

{说明:用字符串来存放减数和被减数,最大限制255位减255位}

program jjzx;  {本程序没有考虑两负数相减}
var s,s1,s2:string;
a,b,c:array[1..260] of integer;
i,l,m,k1,k2:integer;
d:char;  {D用来表示正负号}
begin
  writeln('input s1:');readln(s1);
  writeln('input s2:');readln(s2);
  l:=length(s1);    m:=length(s2);
  if l     begin
        s:=s1; s1:=s2; s2:=s; d:='-'
     end;
  if l=m then  {如果长度一样则直接比较,S1小就要与S2调换}
      if s1        begin
          s:=s1;s1:=s2;s2:=s;d:='-'
        end;
  l:=length(s1);  m:=length(s2);  {为什么要再次得到长度}
  k1:=261;  {为什么是261}
  for i:=l downto 1 do  {S1转换过程}
     begin
         k1:=k1-1;
         a[k1]:=ord(s1[i])-48
     end;
  k2:=261;
  for i:=m downto 1 do   {S2转换过程}
     begin
         k2:=k2-1;
         b[k2]:=ord(s2[i])-48
     end;

  for i:=260 downto k1 do  {开始计算}
      if a[i]         begin
           c[i]:=a[i]+10-b[i];
           a[i-1]:=a[i-1]-1   {为什么下标是I-1}
         end
       else
          c[i]:=a[i]-b[i];
  writeln('jie guo shi :');
  write(d:2);  {首先输出符号位}
  for i:=k1 to 260 do write(c[i]);
  writeln
end.

文章录入:qinjun    责任编辑:qinjun 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
          最新热点       最新推荐       相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

       
     
     
     
    广西百色高中欢迎您!   网站地图 | 联系站长 | 友情链接 | 用户排行 | 版权申明 | 管理登录
    版权所有 Copyright© 2005-2010 广西百色高中 (桂ICP备05013955号)
    学校地址:广西百色市城乡路93号 电话号码:0776-2824142 传真:0776-2847293 邮政编码:533000
    站    长:覃钧  QQ:75331465            改版时间:2007年8月20日