Int值的组合

时间:2012-02-18 15:59:02

标签: c char int

我正在开发一个获取int值的程序,将其应用于int。 假设用户输入的值是803.然后

int x = 803;

我的问题是将int转换为1个char ineteger,就像那样。

x is 803
x is 8+3 (11 - it's not one char length)
x is 1+1 (2 - one char length);
另一个例如:

x is 97
x is 9+7 (16 - not one char)
x is 1+6 (7 - one char)

我尝试了很多方法,例如使用while循环,转换为字符串然后转换为char数组,我找不到解决方案。

请帮助,提前致谢,抱歉新手问题。

1 个答案:

答案 0 :(得分:0)

如果您试图总结整数的数字,可以使用模运算符(在大多数语言中为'%')。

伪代码:

int sumUpDigits(int number) {
    int sum = 0;
    int tmp = (number > 0) ? number : (-1 * number);
    while (tmp > 0) {
        sum += tmp % 10;
        tmp = tmp / 10;
    }
    return sum;
}