2012-02-18 81 views
-3

我正在研究一个获得int值的程序,将其应用于int。 比方说,用户输入的数值是803然后int值的组合

int x = 803; 

我的问题是为int转换成1个焦炭ineteger,这样的。

x is 803 
x is 8+3 (11 - it's not one char length) 
x is 1+1 (2 - one char length); 

另一e.g:

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

我试过很多方法,例如使用while循环,转换成字符串,然后为char数组,我无法找到一个解决方案。

请帮助,在此先感谢,抱歉的新手问题。

+1

这是一个家庭作业? – frictionlesspulley 2012-02-18 16:00:44

+0

哪种语言?请标记语言 – 2012-02-18 16:01:26

+0

请发布您的最佳解决方案,我们将帮助您解决问题。 – dasblinkenlight 2012-02-18 16:04:10

回答

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; 
} 
+0

这不是一项家庭作业......我不在学校学习C#。 这是一个在C# 而这正是我目前所做 http://pastebin.com/H0X1dZSH 它甚至还没有接近我想要什么,我得到104名,而不是2 – 2012-02-18 16:18:02

+0

来自Alexs - 代码不是工作很好,其实它部分工作,它回答803的答案是11,我想要2(1 + 1 - 这个数字取自11),但是无论如何我会试着找到我的问题 – 2012-02-18 16:21:24

+0

看到这个[链接](http://msdn.microsoft.com/de-de/library/ww9t2871.aspx):Convert.ToInt32(char c)将指定的Unicode字符的值转换为等效的32位有符号整数。 – AlexS 2012-02-18 16:26:25