用while循环查找回文数的C程序

回文数是反转时保持不变的数。在 C 语言中,允许用户输入任何正整数并使用 while 循环检查给定的数字是否为回文数。

示例 1

以下是使用 while 循环查找回文数的 C 程序 -

#include <stdio.h>

int main(){

   int num, temp, rem, rev = 0;

   printf("enter a number:\n");

   scanf("%d", &num);

   temp = num;

   while ( temp > 0){

      rem = temp %10;

      rev = rev *10+ rem;

      temp = temp /10;

   }

   printf("reversed number is = %d\n", rev);

   if ( num == rev )

      printf("\n%d is Palindrome Number.\n", num);

   else

      printf("%d is not the Palindrome Number.\n", num);

   return 0;

}

输出结果

执行上述程序时,会产生以下结果 -

enter a number:

1234

reversed number is = 4321

1234 is not the Palindrome Number.

enter a number:

1221

reversed number is = 1221

1221 is Palindrome Number.

例2

考虑另一个 C 程序示例,它通过对字符串使用 while 循环来查找回文数。

#include <stdio.h>

#include <string.h>

void pal(char string[]);

int main(){

   char string[100];

   printf("输入一个字符串: ");

   gets(string);

   pal(string);

   return 0;

}

void pal(char string[]){

   int i = 0;

   int length = strlen(string) - 1;

   while (length > i){

      if(string[i++] != string[length--]){

         printf("\n %s is not a palindrome", string);

         return;

      }

   }

   printf("\n %s is a palindrome string", string);

}

输出结果

执行上述程序时,会产生以下结果 -

输入一个字符串: tutorial

tutorial is not a palindrome

输入一个字符串: saas

saas is a palindrome string

以上是 用while循环查找回文数的C程序 的全部内容, 来源链接: utcz.com/z/331806.html

回到顶部