【C语言】判断一个数是不是回文数
所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的。
首先,我们来判断一下一个数是否为回文数:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
int d = 0;
printf("请输入一个数字:\n");
scanf("%d", &a);
d = a;
while (a)
{
c = a % 10;
a = a / 10;
b = b * 10 + c;
}
if (b == d)
{
printf("该数是回文数!\n");
}
else
{
printf("该数不是回文数!\n");
}
return 0;
}
那么,判断完一个数字是否为回文数之后,再来判断一下一个字符串是否为回文字符串:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char arr1[6] = { 0 };
char arr2[6] = { 0 };
int i = 0;
int left = 0;
int right = 4;
printf("请输入一个字符串:\n");
scanf("%s", arr1);
strcpy(arr2, arr1);
while (left <= right)
{
char tmp = 0;
tmp = arr2[left];
arr2[left] = arr2[right];
arr2[right] = tmp;
left++;
right--;
}
if (strcmp(arr1, arr2) == 0)
{
printf("该字符串是回文字符串!\n");
}
else
{
printf("该字符串不是回文字符串!\n");
}
return 0;
}
还没有评论,来说两句吧...