c - C中的多位数字反转

标签 c arrays string reverse

我有问题,我需要最多 10000 个测试用例作为输入,并且最多有 5000 个数字,并且必须反转数字。

如果假设我只给出 3 个测试用例和每个测试用例的随机数字,如下所示,

n = 3,

1] 12 43 => these are the digits => o/P 55
2] 90 235 => o/P is 09 + 532 = 541
3] 23 98899 3454 2323 => o/P is 32 + 99889 + 4543 + 3232 = 107696  

我需要将这些数字作为输入。我可以将它们放入整数数组中吗?存储数字后,我必须反转数字并添加它们。 1] 12 43 可以反转为 21 34 并相加为 21 + 34 = 55。输出为 55

我们可以使用以下公式反转一位数字,

num = 12345
rev_num = 0
while(num > 0) {
  rev_num = (rev_num * 10) + (num%10)
  num = num/10
}

但不知道存储它的正确数据结构,以便反转单行上输入的多个数字并添加反转的数据。 整数 n; int (*p)[n]; 我们不能根据 n 的值动态声明数组吗?如何解决这个问题。

最佳答案

  1. 使用 fgets() 读取输入。
  2. 使用 strtok() 将输入分隔为字符串,并以空格作为分隔符。
  3. 对每个标记使用 strrev() 反转字符串。
  4. 然后使用 atoi() 将标记转换为整数。
  5. 获得整数后,执行加法。

关于c - C中的多位数字反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27309905/

相关文章:

java - 将字符串数组从 Java 传递到 C++

c++ - 基本的 C 风格字符串复制

c++ - 如何在 C++ 中将字符串流转换为字符串?

c - 在c中添加浮点值

c - 我不明白为什么这个程序总是崩溃

c - 我什么时候应该释放双指针?

mysql - 将两个输入转换为单个数组以输入到 db codeigniter

PHP Array 语法和操作说明

javascript - 如何在 Javascript 中将字符串转换为日期

有人可以帮我解释一下这段C代码吗?