【发布时间】:2020-06-22 14:38:19
【问题描述】:
我正在尝试创建一个函数,如果数字是回文则返回 true,如果数字不是,则返回 false,所以首先我创建了一个反转数字的函数,然后创建另一个函数来判断反转的数字是否等于原始号码,但它没有为我返回正确的输出,有什么帮助吗?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
//Reversing a number
int DigitsReversing(int num)
{
int resultofR = 0;
while (num > 0)
{
resultofR = resultofR * 10 + num % 10;
num = num / 10;
}
return resultofR;
}
//telling if the original number equal to the reversed number if yes return if not return false
int isPali(int num)
{
DigitsReversing(num);
int resultofR;
if (num == resultofR)
return true;
else
return false;
return 0;
}
//calling the function
int main()
{
int num;
scanf("%d", &num);
printf("%d", isPali(num));
return 0;
}
编辑****:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
#include <stdbool.h>
int DigitsReversing(int num)
{
int resultofR = 0;
while (num > 0)
{
resultofR = resultofR * 10 + num % 10;
num = num / 10;
}
return resultofR;
}
bool isPali(int num , int resultofR)
{
resultofR = DigitsReversing(num);
if (num == resultofR)
return true;
else
return false;
}
int main()
{
int num, resultofR;
scanf("%d", &num);
resultofR = DigitsReversing(num);
isPali(num, resultofR);
【问题讨论】:
-
请以tour 开头并阅读How to Ask。特别是“它不起作用”不是您应该在此处的问题中使用的描述。
-
您正在调用 DigitsReversing() 并且没有使用返回值。
标签: c algorithm palindrome