使用 while 循环查找回文数的 C 程序
回文数是指一个数字在反转之后仍然保持不变。在 C 语言中,允许用户输入任何正整数,并使用 while 循环检查给定的数字是否为回文数。
示例 1
以下是使用 while 循环查找回文数的 C 程序 -
#include <stdio.h> int main(){ int num, temp, rem, rev = 0; printf("enter a number:
"); scanf("%d", &num); temp = num; while ( temp > 0){ rem = temp %10; rev = rev *10+ rem; temp = temp /10; } printf("reversed number is = %d
", rev); if ( num == rev ) printf("
%d is Palindrome Number.
", num); else printf("%d is not the Palindrome Number.
", 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
考虑使用 while 循环查找字符串回文数的另一个 C 程序示例。
#include <stdio.h> #include <string.h> void pal(char string[]); int main(){ char string[100]; printf("enter a string: "); 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("
%s is not a palindrome", string); return; } } printf("
%s is a palindrome string", string); }
输出
执行以上程序后,会产生以下结果 -
enter a string: tutorial tutorial is not a palindrome enter a string: saas saas is a palindrome string
广告