C 语言程序反转数字


2022年3月26日, Learn eTutorial
1918

为了更好地理解,我们始终建议您学习下面列出的C语言编程基础主题

如何在 C 语言中反转数字?

这个 C 语言程序有助于反转数字。反转给定数字意味着我们需要以相反的顺序写入该数字。这个 C 语言程序中使用的逻辑非常简单,通过使用适当的 printfscanf 语句从用户那里获取数字。这里我们选择 long int 以获得更好的编程体验。通过使用 long int,用户可以输入大值。

解释 C 语言中的 while 循环?

为了反转数字,我们将数字存储到一个临时变量中后,使用 'while 循环'。我们使用“模运算符”将数字的最后一位作为余数提取出来。将余数加到反转变量中,该变量乘以 10。现在将数字除以 10 以移除最后一个元素并重复循环。最后,打印反转变量以显示输出。这里使用了 'while 循环'。while 循环的语法是


while (testExpression)
   {

        // codes inside the body of a while
  
    }

这里测试表达式在循环执行之前检查条件是真还是假。如果测试表达式为真或非零,则执行 'while 循环' 中的代码,然后重新评估测试表达式。此过程一直持续到表达式变为假;在此条件下,'while 循环' 终止,这是反转数字的源代码。

 

算法

步骤 1: 包含头文件,以便在 C 程序中使用内置函数。

步骤 2: 声明变量 num、rev、temp、digit 为 long 类型。

步骤 3: 接受用户输入的数字并将其存储到 'num' 中。

步骤 4: 将数字存储到临时变量 'temp' 中。

步骤 5: 使用 while 循环,条件为 num>0,执行以下步骤。

步骤 6: digit = num % 10

步骤 7: 使用 rev = rev * 10 + digit 获取数字的最后一位。

步骤 8: num = num / 10

步骤 9: 重复步骤 5。

步骤 10: 使用 printf 显示给定数字(即 temp)。

步骤 11: 显示数字的反转(即 rev)。

C 语言源代码

                                          #include <stdio.h>

void main() {
  long num, rev = 0, temp, digit;
  printf("Enter the number\n"); /*we use long int to declare number' */
  scanf("%ld", & num);
  temp = num;
  while (num > 0) {
    digit = num%10;
    rev = rev * 10 + digit; /*calculating the reverse using mod operator*/
    num /= 10;
  }
  printf("Given number   = %ld\n", temp); /*display both numbers as output*/
  printf("Its reverse is = %ld\n", rev);
}
                                      

输出

Enter the number
123456

Given number   = 123456
Its reverse is = 654321