题解 | #你是天才吗?#

你是天才吗?

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;
}
当然在这题用这种更好 别的地方就不一定了
*/

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务