如何解决检查整数的十进制表示是否是回文 最终代码:
我是 C 编程的初学者。
我编码发现一个数字是否是回文。
它不起作用,所以有人帮我
df['Datetime'] = pd.to_datetime(df['Datetime'],utc=True)
解决方法
我们不要使用全局变量来解决由它们引起的整个问题,而是可以使用局部变量。在 reverse
函数中,您有这一行:
n=n/10;
您正在覆盖其值,然后在 main
函数中与 sum 进行比较:
if (sum==n)
reverse
的 n
函数值末尾为 0。因为 n
在全局范围内。
最终代码:
#include<stdio.h>
int reverse(int x);
int main(){
int n = 0;
printf("the number you want to check whether it is palindrome or not ");
scanf("%d",&n);
int sum = reverse(n);
if (sum==n) {
printf("congratulations you got your palindrome number ");
} else {
printf("sorry it is not palindrome number");
}
return 0;
}
int reverse(int x){
int sum = 0,r = 0;
while (x>0) {
r=x%10;
sum=sum*10+r;
x/=10;
}
return sum;
}
,
#include<stdio.h>
int reverse(int x);
int main(){
int sum,n;
printf("the number you want to check whether it is palindrome or not ");
scanf("%d",&n);
sum=reverse(n);
if (sum==n)
{
printf("congratulations you got your palindrome number ");
}
else{
printf("sorry it is not palindrome number");
}
return 0;
}
int reverse(int x){
int r,sum=0;
while (x>0){
r=x%10;
sum=sum*10+r;
x=x/10;
}
return sum;
}
-
在 main 中,你调用了 reverse(int) 函数,在工作之后也调用了 reverse(int) 返回一个整数,但您没有收到任何变量中的返回值。和 sum(全局变量)的值为零,这就是您得到错误输出的原因。
-
在函数 reverse(int x) 中,您将参数命名为 x 但您使用了 n;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。