知天下,分类信息

C语言给出两个正整数,计算两个数相加需要多少次进位,求找错!系统判定错误,求大神指点有什么漏洞

C语言给出两个正整数,计算两个数相加需要多少次进位,求找错!系统判定错误,求大神指点有什么漏洞

C语言给出两个正整数,计算两个数相加需要多少次进位,求找错!!!

你在

for(i=n-1,j=0;i>=0;i--,j++)

d[j]=b[i];

j++了,j的数增加了

所以b有多少位 j 在后面相加计算 前就是多少

你需要的是(相加需要多少次进位)吧

j++前面的代码感觉多余了

c语言中求用字符串表示两个整数相加进位次数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

intcal(intx)

{

    intsum = 1, temp = 10;

    x = abs(x);

    if(x == 0)sum = 1;

    else

        while(x >= temp)

        {

            temp *= 10;

            ++sum;

        }

    returnsum;

}

intmain()

{

    inti = 0;

    inta = 0, b = 0, sum = 0, temp = 0, result = 0;

    scanf("%d%d", &a, &b);

    a = abs(a);

    b = abs(b);

    sum = a + b;

    if(a % 10 + b % 10 >= 10)

    {

        ++result;

        temp = 1;

    }

    a /= 10;

    b /= 10;

    intlena = cal(a), lenb = cal(b), lensum = cal(sum);

    lena = lena < lenb ? lena : lenb;

    for(i = 0; i < lena; ++i)

    {

        if(a % 10 + b % 10 + temp >= 10)

        {

            ++result;

            temp = 1;

        }

        elsetemp = 0;

        a /= 10;

        b /= 10;

    }

    printf("%d", result);

    system("pause");

    return0;

}

不过不知道为什么要用字符串...

c语言问题:计算两个数相加

可以的,只是你必须自己按回车或者空格。多了一个确认输入完成的工作。getch()的话只是在你输入一个字符的时候就跳到下面的代码行了。楼上说法有点答非所问。

两个二进制相加怎么算?

跟十进制差不多, 右边对其, 从左往右, 依次计算, 逢二进一

1000 + 1000, 右边对齐以后, 右边那三个0依次对应相加, 结果还是0

第4位是两个1相加, 1+1=2, 逢2进1, 本位剩下个0, 向上一位(右数第5位)进1, 所以结果10000

标签: #大神 #多少次 #漏洞