| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2765 人关注过本帖
标题:高精度加法的一个题
只看楼主 加入收藏
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
收藏
 问题点数:0 回复次数:11 
高精度加法的一个题
高精度加法的一个题
程序代码:
#include <stdio.h>
#include <conio.h>
#include <string.h>
int x[100],y[100];
int a[100],b[100],c[101];
int la,lb,j,i,k;
int main()
{
    printf("please input the dataA:");
    scanf("%s",x);
    printf("please input the dataB:");
    scanf("%s",y);
    la=strlen(x);
    lb=strlen(y);
    printf("dataA:%s\ndataB:%s\nla:%d lb:%d\n",x,y,la,lb);
    getch();/*显示输入的数据*/
    if(la>lb)
      j=la;
    else
      j=lb;
    k=0;
    for(i=la;i>=0;i--)
       {
       a[k]=x[i]-'0';
       k++;
       }
    k=0;
    for(i=lb;i>=0;i--)
       {
       b[k]=y[i]-'0';
       k++;
       }
    for(i=0;i<j;i++)
       {
       c[i]=a[i]+b[i];
       if(a[i]>9)
         {a[i]=a[i]-10;
          a[i+1]=a[i+1]+1;
         }
       }
    if(a[j+1]>0)
    printf("%d",a[j+1]);
    for(i=j;i>=0;i--)
       printf("%d",a[i]);
    getch();
}

帮忙看看哪里出错了
感谢各位大牛~
搜索更多相关主题的帖子: 加法 高精度 
2008-10-16 22:24
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
int 型的数组好象不能用 %s 吧?或者用 char 型的,如果用 int 型的,就得一个一个地用 %d 输入。

    别的没看,这里的意见也谨作参考。
2008-10-16 22:40
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
收藏
得分:0 
可以用字符串吖```定义为字符串数组么...

好花来年开,好景依旧在;趁你还年轻,抓紧搞竞赛。
2008-10-17 21:28
elmnd123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-10-8
收藏
得分:0 
乘法
/*50!*/
#define N 4
int main()
{
 int a[100],l=0,i,j;
 for(i=2;i<100;i++)
 {a[i]=0;}
 a[0]=1;                /*初始化该数组*/
 for(i=2;i<=N;i++)
 { for(j=0;j<=l;j++)
   {a[j]*=i;}
   l+=3;
   for(j=0;j<l;j++)       /*考虑进位问题*/
   if(a[j]>9)
   {a[j+1]+=a[j]/10;
    a[j]%10;
    }
    while(a[l]==0) l--;
  }
  for(i=l;i>=0;i--)
  printf("%d",a[i]);
  printf("\n");
  getch();
  return 0;
}
2008-10-18 02:24
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
回复 2# 广陵绝唱 的帖子
广陵来帮我解答一个问题:
程序代码:
#include <stdio.h>
#include <stdlib.h>

void func(int a, int *p)
{
    printf("%d %d\n",a,*p);
}

int main(void)
{
    int a=4,*p=&a;
    func(a++,p);

    return 0;
}


不编译程序,请指出这个程序输出什么,为什么输出这个。这个程序的写法是未定义的么?(三问)

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-18 04:49
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
收藏
得分:0 
D上去```

好花来年开,好景依旧在;趁你还年轻,抓紧搞竞赛。
2008-10-22 21:43
fantasy_______
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-9-21
收藏
得分:0 
cannot convert parameter 1 from 'int [100]' to 'const char *'
整型数组怎么能用strlen()??
2008-10-22 22:25
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复5#SW的帖子:
今天才看到这个回帖,现试答一下。
#include <stdio.h>
#include <stdlib.h>

void func(int a, int *p)
{
    printf("%d %d\n",a,*p);
}

int main(void)
{
    int a=4,*p=&a;
    func(a++,p);

    return 0;
}
不编译程序,请指出这个程序输出什么,为什么输出这个。这个程序的写法是未定义的么?(三问)

***************************************************************************************************
一:输出 4 5;
二:func(a++,p),传递a++时,传递的是4,a后自加。因为p是指向a的指针,传递的时候,传的值为5,所以在函数func中输出的时候,输出的是4 5;
三:依我的理解,这个应该不是未定义的程序。如果说有的编译器对于变量在自加之前或自加之后参与运算,这个第一我没经历过,第二,非常规的编译器也不应该是主流。

-----------------------------------------------------------------------------------

    如果说第三问的答案是未定义的,那么前两问的答案应该就是“未知”的了。而我所作出的答案,却是基于书本上的——或者说是谭浩强所教授的C的知识所作出的。至于编译器的编译方法不同,程序却可以略作改动。而对于这样的程序,我是不会或者或是尽量避免书写的。

-----------------------------------------------------

    SW这个回帖的意义何在呢?是否是在暗示,有的编译器也会把int型的数组当作字符串一样用gets之类的来处理呢?那如果是这样,看来教授C程序的书籍以后也得有个说明了吧:此种程序书写方法基于***编译器,如果是***编译器,则应……书写。

----------------------------------------------------------------------------------------

    感谢SW对我的帮助,令我学习了许多东西,这是书本所不能给予的。
2008-10-22 23:21
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
经过WIN-TC编译
上面的回帖绝对是没经过编译之后作答的。现经WIN-TC编译,答案确如我所说,是 “4 5”。别的编译器我的机器上没有……
2008-10-22 23:24
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
收藏
得分:0 
回复 5# StarWing83 的帖子
感觉是未定义行为。依赖编译器。

像a=a++;这样的表达式干脆是无意义的。
2008-10-23 04:21
快速回复:高精度加法的一个题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015173 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved