C语言--多组输入类题目

简介: C语言--多组输入类题目

多组输入如何实现?

看下面一道题:(题目来源:牛客网

这道题我们在牛客网可以用下面一段代码实现:

但是注意,这样写是不对的,题目要求的是多组输入,但上面代码只能输入一组数据,能够测试通过是因为只测试了一组数据,要实现多组输入应该用下面一段代码

#include<stdio.h>
int main()
{
    int a = 0;
    while (scanf("%d", &a)!=EOF)
    {
        if (a > 140)
            printf("Genius\n");
    }
    return 0;
}

将输入写入while循环就能实现多组输入。

大家可能对代码中的EOF有些疑惑,下面我们来解读一下:

scanf函数是用来读取数据的。

如果正常读取数据,函数返回的就是读取数据的个数。例如scanf("%d", &a);返回的就是1,

scanf("%d %d", &a,&b);返回的就是2。

如果读取遇到错误,或者读取遇到文件结束,函数返回的就是EOF。

代码中(scanf("%d", &a) ! = EOF)是循环的判断条件,意思是当输入正常读取时进入循环。也可以将它改为(scanf("%d", &a) == 1),同样可以作为判断条件表示当输入正常读取时进入循环。

好了,以上就是实现多组输入的方法,下面我们再看一道题目练习一下:

代码实现:

#include <stdio.h>
int main()
{
    int a = 0;
    while(scanf("%d",&a) == 1)
    {
        if(a%2==1)
          printf("Odd\n");
        else
          printf("Even\n");
    }
     return 0;
}

如何停止输入?

有同学可能有疑问了,我输入完所有测试的值后怎么停止输入呢?

很简单,只需要输入Ctrl+z就会停止输入,注意VS编译器可能要输入好几个Ctrl+z才会停止输入,这只是VS编译器的小bug,大家不必理会。

目录
相关文章
|
1月前
|
存储 编译器 C语言
C语言存储类详解
在 C 语言中,存储类定义了变量的生命周期、作用域和可见性。主要包括:`auto`(默认存储类,块级作用域),`register`(建议存储在寄存器中,作用域同 `auto`,不可取地址),`static`(生命周期贯穿整个程序,局部静态变量在函数间保持值,全局静态变量限于本文件),`extern`(声明变量在其他文件中定义,允许跨文件访问)。此外,`typedef` 用于定义新数据类型名称,提升代码可读性。 示例代码展示了不同存储类变量的使用方式,通过两次调用 `function()` 函数,观察静态变量 `b` 的变化。合理选择存储类可以优化程序性能和内存使用。
148 82
|
10天前
|
程序员 C语言
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
|
1月前
|
存储 缓存 程序员
c语言的存储类型-存储类
本文详细介绍了C语言中的存储类型及其分类,包括基本类型(如整型、浮点型)和复合类型(如数组、结构体)。重点讲解了不同存储类别(`auto`、`static`、`register`、`extern`、`typedef`、`volatile`、`const`)的特点及应用场景,并展示了C11/C99引入的新关键字(如`_Alignas`、`_Atomic`等)。通过示例代码解释了每个存储类别的具体用法,帮助读者更好地理解和运用这些概念。
|
2月前
|
存储 编译器 C语言
【C语言】指针练习题目
【C语言】指针练习题目
|
5月前
|
编译器 C语言 C++
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(下)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
49 2
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(下)
|
4月前
|
测试技术 C语言
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
42 1
|
5月前
|
安全 程序员 C语言
从C语言到C++_37(特殊类设计和C++类型转换)单例模式(下)
从C语言到C++_37(特殊类设计和C++类型转换)单例模式
49 5
|
4月前
|
C语言
C语言-----多组输入,一个整数(1~100),表示线段长度,即“*”的数量
C语言-----多组输入,一个整数(1~100),表示线段长度,即“*”的数量
|
5月前
|
算法 编译器 C语言
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(上)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
42 3
|
5月前
|
编译器 C语言 C++
从C语言到C++⑦(第二章_类和对象_下篇)初始化列表+explicit+static成员+友元+内部类+匿名对象(上)
从C语言到C++⑦(第二章_类和对象_下篇)初始化列表+explicit+static成员+友元+内部类+匿名对象
37 1