给定一个名为 yesCount 的 int 变量、另一个名为 noCount 的 int 变量和一个名为 response 的 char 变量,编写必要的代码以将值读入 response,然后执行以下操作:
- 如果输入的字符是
y
或Y
然后增加yesCount
并打印出"YES WAS RECORDED"
- 如果输入的字符是
n
或N
然后增加noCount
并打印出"NO WAS RECORDED"
- 如果输入无效,只需打印消息
"INVALID"
不做任何其他事情。
您好,我的 C 代码遇到了这个问题。我得到的输出不正确。非常感谢任何帮助。谢谢。
if (response == 'y' || response == 'Y') {
scanf("%d", &yesCount);
yesCount++;
printf("YES WAS RECORDED");
}
if (response == 'n' || response == 'N') {
scanf("%d", &noCount);
noCount++;
printf("NO WAS RECORDED");
} else {
printf("INVALID");
}
最佳答案
这里可能有一些拼写错误,因为我是用智能手机写的。请注意这一点。顺便说一句,我将如何做到这一点:
#include <stdio.h>
int main(void) {
int yescount = 0, nocount = 0;
int c;
while ((c = getchar) != EOF) {
switch (c) {
case 'y':
case 'Y':
puts("Yes registered");
yescount++;
break;
case 'n':
case 'N':
puts("No registered");
nocount++;
break;
default:
puts("Invalid selection.");
break;
}
}
return 0;
}
关于标准输出的内容不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34935927/