首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将大数字作为字符串进行操作

将大数字作为字符串进行操作
EN

Stack Overflow用户
提问于 2018-06-09 23:03:33
回答 1查看 52关注 0票数 -1

我有一个问题:

创建一个将大整数作为字符串输入的C程序。

然后将每个字符转换为相应的数字。

在那之后,我必须创建一个有3个矩阵的函数addBigNumbers()

代码语言:javascript
复制
addBigNumbers(char *a1, char *a2, char *res)

a1a2将包含我要添加的两个大数字,res将包含这些数字的和作为数字序列。我们想要我们创建的函数来检查字符串是否只包含数字。

如果只包含数字,则res等于1,并打印这些数字的总和,否则res等于0(最大数字长度为1000)

在第一个函数之后,我们想创建一个用于减法的函数。

到目前为止,我还没有得到减法,因为我卡在第一个,我需要你的帮助。

这是我到目前为止所拥有的代码:

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#define N 1000

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
 int addHugeNumbers(char *a1, char *a2, char *res){
    int y=0, u=0, h=0;
    res=strcat(a1,a2);
    if(strlen(a1)>strlen(a2)){
        y=atoi(a1);
        u=atoi(a2);
        h=y+u;
     }
     else{
        y=atoi(a1);
        u=atoi(a2);
        h=u+y;
     }
     printf("%d", h);
 }

int main(int argc, char *argv[]) {
    char res[N];
    char a1[N/2];
    char a2[N/2];
    scanf("%s", &a1);
    scanf("%s", &a2);
    addHugeNumbers(a1, a2, res);


    return 0;
}

我的问题是,如果我输入ex。23 23,它输出2346,这显然是错误的,但它得到了46正确,当我输入1234 123时,它输出了1234246,这是完全错误的。

奇怪的是,如果我输入像1234r 123之类的东西,或者其他任何包含字符的东西,它都会输出精确的和。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50775610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档