【发布时间】:2015-10-30 22:54:26
【问题描述】:
我是 C 的新手,正在努力学习。我有这个问题,我解决了,逻辑工作得很好,但是只要输入错误,它就会在屏幕上显示消息,并且条件不正确。因此,每当应该有一个无效输入消息时,我也会得到 NE - 如果条件不正确,它将打印出来。
这是代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
if(a <= 0 || b <= 0) {
printf("Invalid input");
} else {
if(a < b) {
int tmp = a;
a = b;
b = tmp;
}
}
a/=10;
int c1,c2;
while (a!=0 && b!=0){
c1 = a%10;
c2 = b%10;
a /= 100;
b /= 10;
}
if (c1 == c2)
printf("PAREN\n");
else
printf ("NE\n");
return 0;
}
【问题讨论】:
-
你为什么不在
printf("Invalid input");之后return 1?这样它就不会打印NE。 -
我不能 100% 确定有效输入是什么,为什么结果输出是 PAREN 或 NE?
-
要表明问题已解决,您应该点击帮助您的答案左侧的复选标记。
-
@Mike 有效输入都是大于 0 的整数。如果小数的数字位于大数的偶数位,则输出为 PAREN,从右到左读取。
-
请不要编辑您的问题以包含“已解决”。如果任何答案实际上提供了答案,您可以将其标记为已接受 - 仅此而已。如果他们都没有这样做,而您自己找到了答案,您可以提交自己的解决方案作为答案。