注册 登录
编程论坛 C++教室

本人c++新手,最近在自学高精度乘法,求大神指点我的代码错在哪,万分感谢

卡卡博特 发布于 2012-12-22 01:05, 521 次点击
程序代码:
#include <iostream>
#include <cstring>
using namespace std;

int main()
{
    int t;
    cin >> t;

    for(int z = 0;z < t;z++)
    {   
        int c[205] = {0};
        int i,j,len;
        string m,n;
        cin >> m >> n;

        memset(c,0,sizeof(c));
        for(i = 1;i <= m.length();i++)
            for(j = 1;j <= n.length();j++)
                c[i+j-1] = c[i+j-1]+(m[i]-48)*(n[j]-48);

        len = m.length()+n.length();
        for(i = 1;i < len;i++)
        {
            c[i+1] = c[i+1]+c[i]/10;
            c[i] = c[i]%10;
        }

        while(c[len] == 0)
        {
            len--;
        }

     
        for(i = len;i >= 1;i--)
        {
            cout << c[i];
        }

        cout << endl;
    }
}
9 回复
#2
wp2319572012-12-22 07:38
这2句不行string m,n;
        cin >> m >> n;

#3
卡卡博特2012-12-22 08:49
回复 2楼 wp231957
不能将数字保存为字符串吗?
#4
额外覆盖2012-12-22 10:37
头文件错了,是#include<string>,没有c
#5
卡卡博特2012-12-22 12:30
回复 4楼 额外覆盖
这两个都可以的吧
#6
crystall2012-12-22 12:48
回复 4楼 额外覆盖
是结果不对?还是什么?

[ 本帖最后由 crystall 于 2012-12-22 12:54 编辑 ]
#7
卡卡博特2012-12-22 12:57
回复 6楼 crystall
结果不对,编译可以过
#8
额外覆盖2012-12-22 13:03
回复 5楼 卡卡博特
有区别,cstring是定义后使用字符串处理函数,比如strcmp,strcat之类的;而string是使用string类功能时定义的;而你此处就是定义字符串变量,要用类名string
#9
额外覆盖2012-12-22 13:04
至于你要实现什么功能我不知道,只是你定义错了,改了之后可以编译通过
#10
卡卡博特2012-12-22 13:12
回复 8楼 额外覆盖
原来如此,谢了,但是这两种都能编译通过,而且输出都一样啊

[ 本帖最后由 卡卡博特 于 2012-12-22 13:13 编辑 ]
1