C 语言反转数字程序

如何使用 While 循环、函数和递归编写 C 语言反转数字的程序?为此,首先通过将数字除以 10 来找到余数。

下面的程序允许用户输入任何正整数。接下来,此 C 程序使用 while 循环遍历数字中的各位,并将数字反转。

#include <stdio.h>

int main(void)
{
    int n, rd, rs = 0;
    
    printf("Please Enter any Number to Reverse = ");
    scanf("%d", & n);
    
    while (n > 0)
    {
        rd = n %10;
        rs = rs * 10+ rd;
        n = n /10;
    }
    
    printf(“Reverse of entered Number is = %d\n", rs);
    
    return 0;
}
C program to Reverse an Integer Number using while loop

此程序允许用户输入任何正整数,然后将该数字分配给一个变量。接下来,While Loop 中的条件将确保给定的数字大于 0。

从上面的反转数字的程序示例中,用户输入的数字为:n = 1456,rs = 0

第一次迭代
rd = n %10 = 1456%10 = 6

rs = rs *10 + rd
rs = 0 * 10 + 6 => 0 + 6 => 6

n = n /10 = 1456 /10 => 145

第二次迭代:从此 C 程序第一次迭代开始,两个变量的值都已改变,数字 = 145,反转数字 = 6

rd = 145 % 10 = 5

rs = 6 * 10 + 5 => 60 + 5 => 65

n = 145 /10 => 14

第三次迭代:从第二次迭代开始,这个程序中,两个变量的值变为 14 和 65

rd = 14 % 10 = 4

rs = 65 * 10 + 4 => 650 + 4 => 654

n = 14 / 10 = 1

第四次迭代:从第三次迭代开始,数字 = 1,反转数字 = 654

rd = 1 %10 = 1

rs = 654 * 10 + 1 => 6540 + 1 => 6541

n = 1/ 10 => 0

在这里,对于下一次迭代,n = 0。因此,C 编程的 while 循环条件将不满足。

使用 For 循环反转数字的 C 程序

此示例使用 for 循环迭代数字中的各个数字,并使用我们在 while 循环示例中使用的逻辑来反转它们。

#include <stdio.h>
int main(void)  {
    int n, rd, rs = 0;
    printf("Please Enter any Number = ");
    scanf("%d", &n);
    
    for(;n > 0; n = n /10){
        rd = n % 10;
        rs = rs * 10+ rd;
    }
    printf("Reverse of entered = %d\n", rs);
    return 0;
}

使用函数反转数字的 C 程序

此程序允许用户输入任何正整数。然后,此程序使用函数反转数字。

#include <stdio.h>

int rev_Integer (int);

int main(void)
{
    int Number, rev = 0;
    
    printf("Please Enter any number = ");
    scanf("%d", &Number);
    
    rev = rev_Integer (Number);
    
    printf("Reverse = %d\n", rev);
    
    return 0;
}

int rev_Integer (int Number)
{
    int Reminder, rev = 0;
    
    while (Number > 0)
    {
        Reminder = Number %10;
        rev = rev *10+ Reminder;
        Number = Number /10;
    }
    
    return rev;
}
Program to Reverse a Number Using Functions

在此程序中,当编译器在 main() 程序中遇到 rev_Integer (Number) 行时,编译器将立即跳转到下面的函数。

int rev_Integer (int Number)

我们已经在上面的示例中解释了代码逻辑。请参考 While Loop 分析。最后一行以 return Reverse 语句结束。

使用递归反转数字的 C 程序

此 C 程序允许我们输入任何正整数。然后,它将使用递归来反转数字。

#include <stdio.h>

int Rev_Integer (int );

int main(void)
{
    int n, rev = 0;
    
    printf("\nPlease Enter any value\n");
    scanf("%d", &n);
    
    rev = Rev_Integer (n);
    
    printf("Reverse= %d\n", rev);
    
    return 0;
}

int Rev_Integer (int n)
{
    static int Rem, rev = 0;
    
    if (n > 0)
    {
        Rem = n %10;
        rev = rev *10+ Rem;
        Rev_Integer (n /10);
    }
    return rev;
}
Program to Reverse a Number Using Recursion

在此程序中,当编译器在 main() 程序中遇到 Rev_Integer (n) 行时,编译器将立即跳转到下面的函数。

int Rev_Integer (int n)

在此函数中,Rev_Integer (n / 10); 语句将帮助递归调用具有更新值的函数。如果您错过了此语句,它将在完成第一行后终止。例如,如果 Number = 459,则输出将是 9。

让我们看看 If 条件。

如果 (n > 0),代码将检查数字是否大于 0。对于递归函数,在递归使用函数之前放置一个条件至关重要。否则,我们将陷入无限执行(与无限循环相同)。

评论已关闭。