【问题标题】:Add two different integers together [duplicate]将两个不同的整数加在一起[重复]
【发布时间】:2018-03-13 06:46:49
【问题描述】:

目前我在添加两个不同的整数时遇到了减速带。例如

int i = 32;
int j = 50;
/* Add i and j together into 3250 */

我的想法是将整数转换为字符串并将它们相加,但这需要太多的努力。还有其他方法吗?

【问题讨论】:

  • int bump = i * 100 + j;
  • 这不是“添加”......然后,100*i + j 是不是太明显了,还是您的问题缺少什么?
  • 你是说 3250 是想要的结果吗?如果您不想将它们转换为字符串,我想您需要将 i 乘以适当的 10 倍。
  • 点赞this

标签: c integer


【解决方案1】:

十进制的解是:

int result = 100* i + j;

如果这应该是通用的,您将需要以下算法:

int shift = 10;
while(j >= shift) {
    pow *= 10;
}
int result = i * pow + j;     

【讨论】:

  • 我不在 C 语言中,但在 C# 中我会转换成字符串和 concat。这在 c 中有效吗?
  • @apomene 代码会复杂得多:)
  • 好的,谢谢反馈!!
  • @apomen C 中没有字符串 - 我们将以 (char)0 结尾的字符数组解释为字符串 :)
猜你喜欢
  • 2015-06-01
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
  • 2016-02-26
  • 2012-12-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-08
相关资源
最近更新 更多