我正在尝试使用简单的逻辑制作回文程序,但遗憾的是我无法在Printf( "This is palindrome")
中输入输出
#include<stdio.h>
int main(void)
{
int a,b,c,d,e,f;
printf("enter the 5 digit of palindrome");
scanf("%d%d%d%d%d",&a,&b,&c,&d,&e,&f);
if(a==f && b==e && c==d)
{
printf("Its a Palindrome");
}
else if( a!=f || b!=e || c!=d){
printf("its a palindrome");
}
getchar();
return 0;
}
答案 0 :(得分:3)
scanf("%d%d%d%d%d",&a,&b,&c,&d,&e,&f);
你应该有另一个%d
。否则f
包含垃圾值,它永远不会等于a
。
我建议您重新考虑您的代码并编写更通用的内容,例如阅读字符串而不是单个int
。
答案 1 :(得分:2)
您的代码存在一些问题:
%d
调用scanf(),但传递6个参数(您错过了%d
)printf("its a palindrome")
,而显然不是回文答案 2 :(得分:1)
#include <stdio.h>
int main(void){
int a,b,c,d,e;
printf("enter the 5 digit of palindrome :");
scanf("%1d%1d%1d%1d%1d",&a,&b,&c,&d,&e);
if(a==e && b==d)
printf("it's a palindrome");
else
printf("it's not a palindrome");
getchar();
return 0;
}
答案 3 :(得分:0)
else if( a!=f || b!=e || c!=d){
printf("its a palindrome");
}
如果第一个和最后一个数字不相等,则不是回文。