题解 | #你是天才吗?#
你是天才吗?
https://www.nowcoder.com/practice/557cc54704bb4d56b73b62d1a5455331
#include <stdio.h> int main() { int a; while (scanf("%d",&a) == 1)//这样不仅能循环 还能区别是否为整数输入 比 != EOF更好一点 { if (a >= 140) { printf("Genius"); } } return 0; } /* scanf函数的返回值表示成功读取的项目数。 1.成功读取:如果scanf成功读取了指定数量的数据项,它会返回这些项的数量。例如,如果格式字符串是"%d %f",并且输入是两个数字,scanf将返回2。 2.输入不匹配:如果输入的数据与格式字符串不匹配,scanf将停止读取,并且只返回已成功读取的项目数。例如,如果期望读取一个整数和一个浮点数,但输入中只有整数,scanf将返回1。 3.EOF:如果遇到文件结束符EOF(通常通过在键盘上按下Ctrl+D(在Unix/Linux系统)或Ctrl+Z(在Windows系统)来发送),scanf将返回EOF,其值一般为-1。 4.错误情况:如果发生输入错误,例如输入的数据无法转换为指定的类型,scanf也会返回EOF(-1)。 5.空格和制表符:scanf会忽略输入中的空格、制表符、换行符等空白字符。 使用scanf读取多行输入:如果你想使用scanf来读取多行输入直到EOF,可以使用一个循环,如下所示: int main() { int a; while(scanf("%d", &a) == 1) { // 读取整数直到EOF // 处理读取到的整数a } return 0; } 当然在这题用这种更好 别的地方就不一定了 */