【C语言】多组输入

这篇具有很好参考价值的文章主要介绍了【C语言】多组输入。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C系列文章目录


目录

C系列文章目录

一、什么是多组输入?

二、如何使用多组输入

2.1,试题举例讲解 

2.2,错误解法

2.3,我们实现多组输入的思路

2.4,第一种正确的解法

2.5,第二种正确的解法

2.6,多组输入的第二种输入方法 

2.7,如何停止多组输入 

总结


前言

我们学习C语言,从小白成长为大佬的的探险历程,我们在这章将初步探索多组输入这个知识关卡


一、什么是多组输入?

在C语言中,"多组输入"通常指的是从用户处接收多个输入值的情况。这些输入值可以是不同的数据类型,例如整数、浮点数、字符等。

二、如何使用多组输入

2.1,试题举例讲解 

【C语言】多组输入,c语言,c语言,开发语言

我们通过该题进行讲解多组输入:

2.2,错误解法

该解法只能通过侥幸的通过牛客网,但不是真正的符合该题的多组输入的要求

//如果这样写,通过了很侥幸,因为题目要求多组输入
//只能跑一组数据,这个代码只接收一组数据,判断完就就结束了
int main()
{
	//输入
	int iq = 0;
	scanf("%d", &iq);
	//判断
	if (iq >= 140)
	{
		printf("Genius\n");
	}
	return 0;
}

【C语言】多组输入,c语言,c语言,开发语言

2.3,我们实现多组输入的思路

如何实现多组循环思路
多组输入就是那多组数据去测试,不会只测试一组数据,判断完就结束
为了实现多组输入,我们想让这个代码多组输入,就要让代码循环起来
我们是不是要让这个scanf接收一个数据,判断一下,然后在接收数据,在判断,如此循环下去。
我们写一个while(),在while()判断的条件的地方放上scanf("%d", &iq)
我们都知道,while循环是先执行判断语句
while循环判断scanf,得到一个返回值,如果返回值为真的话,while循环就进来
正好你读到了iq,while就判断iq,直到我们这里读取数据失败,为假的时候就跳出循环
我们想要的拿scanf的返回值判断的话,我们就要知道scanf的返回值是什么。

我们打开一个叫https://cplusplus.com/doc/tutorial/的网站
回到老版,然后输入搜索scanf,然后我们可以看到scnaf的返回类型是int
返回的整型是什么呢,我们往下翻,可以看到一个Return Value,他的意思接收返回值
是描述的scanf的返回值相关的一个意思,这一段英文描述的是什么意思呢,
如果scanf读取了几个数字,就返回读取到数字的个数
 如果它返回1就是读取正常了

【C语言】多组输入,c语言,c语言,开发语言

【C语言】多组输入,c语言,c语言,开发语言

【C语言】多组输入,c语言,c语言,开发语言

2.4,第一种正确的解法

scanf 函数是输入函数
函数的返回值是:int
如果读取成功,返回的就是实际读取到的数据的个数
如果函数读取失败,就返回EOF
非常简单的写法就是scanf == 1,scanf读取到一个数字,如果返回值=1,就证明读取正常,就进去判断

我们将使用代码,注释和运行结果图来理解:

int main()
{
	//输入
	int iq = 0;
	//scanf 函数是输入函数
	//函数的返回值是:int
	// 如果读取成功,返回的就是实际读取到的数据的个数
	// 如果函数读取失败,就返回EOF
	//非常简单的写法就是scanf == 1,scanf读取到一个数字,如果返回值=1,就证明读取正常,就进去判断
	//
	while (scanf("%d", &iq) == 1)
	{
		//判断
		if (iq >= 140)
		{
			printf("Genius\n");
		}
	}
	return 0;
}

【C语言】多组输入,c语言,c语言,开发语言

2.5,第二种正确的解法

scanf 函数是输入函数
函数的返回值是:int
如果读取成功,返回的就是实际读取到的数据的个数
如果函数读取失败,就返回EOF,EOF的值-1
非常简单的写法就是scanf == 1,scanf读取到一个数字,如果返回值=1,就证明读取正常,就进去判断
我们就去判断如果scanf读取一个整数的时候,发现没有读到,发现失败了,就返回EOF

如果返回的不是EOF,就是读取成功了。就为真,不等于EOF所以为真     

我们将使用代码,注释和运行结果图来理解:

int main()
{
	//输入
	int iq = 0;
	//scanf 函数是输入函数
	//函数的返回值是:int
	// 如果读取成功,返回的就是实际读取到的数据的个数
	// 如果函数读取失败,就返回EOF,EOF的值-1
	//非常简单的写法就是scanf == 1,scanf读取到一个数字,如果返回值=1,就证明读取正常,就进去判断
	//我们就去判断如果scanf读取一个整数的时候,发现没有读到,发现失败了,就返回EOF
	while (scanf("%d", &iq) != EOF)//如果返回的不是EOF,就是读取成功了。就为真,不等于EOF所以为真                
	{
		//判断
		if (iq >= 140)
		{
			printf("Genius\n");
		}
	}
	return 0;
}

【C语言】多组输入,c语言,c语言,开发语言

2.6,多组输入的第二种输入方法 

我们还可以这样输入,同样while执行的时候是读取一个,判断完,在读取下一个

我们将使用代码,注释和运行结果图来理解: 

【C语言】多组输入,c语言,c语言,开发语言

2.7,如何停止多组输入 

我们怎么停止这个代码呢,
第一种方法就是ctrl+z就是可以停止
因为ctrl+Z可以让scanf返回EOF
但是在vs2022上你会发现需要按三个ctrl+z,才能结束这个程序
这是vs的一个bug,其他的编译器按一个ctrl+z就结束了

【C语言】多组输入,c语言,c语言,开发语言


总结

以上就是今天要讲的内容,本文仅仅全面介绍了C语言的多组输入问题,可以让你在c语言的探险更加有趣,充实。文章来源地址https://www.toymoban.com/news/detail-556819.html

到了这里,关于【C语言】多组输入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言的秘密】密探—深究C语言中多组输入的秘密!

             你是否在刷题过程中,经常遇到以下场景呢? 场景一: 场景二: 从这些题上都能看见输入描述中提出了一条多组输入,那啥是 多组输入 ?如何实现它呢? 多组输入:在输入数据时,有多组数据需要分别处理的情况 接下来探究如何利用循环实现它。 如果还有不

    2024年02月05日
    浏览(30)
  • 【初阶C语言】关于scanf函数的超详细介绍和多组输入

    感谢各位可以光临娥子的作品   我们学习一个函数,要围绕三个点 :1.函数是什么  2.函数的用法   3.注意的细节 认识一个 函数,我们需要了解他的功能、返回值、接收的参数三个方面 函数原型  (1)功能介绍          scanf函数是一个输入函数 ,所以接收的参数类型需

    2024年02月08日
    浏览(42)
  • Android开发:(AndroidStudio模拟器)如何将模拟器语言设置为中文 && 模拟器输入法更改为中文输入 && 键盘输入中文

    将模拟器语言设置为中文 第一步:打开模拟器后,上滑打开下面的设置图标。 第二步:找到 System (系统) ,点击进入。 第三步:进入后,找到language(语言),点击进入。 第四步:选择 + 添加语言(add) 第五步:滑到最底部,找到中文简体并选中。然后长按中文简体,直到

    2024年02月04日
    浏览(44)
  • C/C++|物联网开发入门+项目实战|函数输入与输出|值传递|地址传递|连续空间的传递|嵌入式C语言高级|C语言函数的使用-学习笔记(11)

    参考: 麦子学院-嵌入式C语言高级-C语言函数的使用 一堆代码的集合,用一个标签去描述它 复用化,降低冗余度 标签 ------ 函数名 函数和数组都属于内存空间,函数具备3要素: int *p; int a[100]; 1、函数名(地址) 2、输入参数 3、返回值 在定义函数时,必须将3要素告知编译器

    2023年04月20日
    浏览(40)
  • JavaCV音视频开发宝典:UDP局域网组播推流,多播推流,局域网多网段推流,使用UDP方式推送TS组播流,实现UDP一对多组播

    《JavaCV音视频开发宝典》专栏目录导航 《JavaCV音视频开发宝典》专栏介绍和目录 ​ 在之前文章中我们已经实现rtp点到点传输JavaCV音视频开发宝典:rtp点到点音视频传输(一对一音视频直播)和rtp广播JavaCV音视频开发宝典:rtp广播方式发送TS流音视频传输(一对多音视频会议

    2024年02月03日
    浏览(44)
  • Python多组数据三维绘图系统

    Python绘图系统: 从0开始实现一个三维绘图系统 自定义控件:坐标设置控件📉坐标列表控件 在实现坐标列表控件之后,自然要在在绘图系统中创建多组坐标列表,同时需要提供新增或删除对应绘图数据的功能。那么首先得添加两个功能按钮 两个函数,addAxisList在最后面新增

    2024年02月12日
    浏览(22)
  • SpringBoot+Vue 单页面多组WebSocket

    1.在SpringBoot的pom.xml文件里添加依赖:** 2.在配置中加入 WebSocketConfig.java** 3. 新建component文件夹,加入WebSocketServer.java** 4.Vue 5. 前后端交互 在异步请求前创建websocket,在后端用WebSocketServer.sendInfo(id,message)将信息从服务端发送给客户端,然后前端会通过setOnmessageMessage(event)来处理后

    2024年02月11日
    浏览(25)
  • 将多组三维点拟合成平面方程MATLAB

    将三维点拟合成平面方程可以使用最小二乘法。最小二乘法可以找到最优的平面模型,使得拟合的平面与给定的三维点之间的误差最小化。 以下是一个示例,演示如何使用最小二乘法将一组离散的三维点拟合成平面方程: 这段代码实现了将三维点拟合成平面方程,逐行解释

    2024年02月07日
    浏览(29)
  • Altium Designer 相同电路多组复制布线

    在进行设计开发的时候,总会遇到相同的电路,或者模块,这些电路可以使用相同的布局和走线。我们可以画好其中一部分,然后直接复制,就可以提高效率。下面记录我自己的实际操作过程,有一些地方遇到了问题,怎么解决的也记录一下,也供自己以后查阅。 1、打开原

    2024年02月07日
    浏览(27)
  • 基于GPT构建单细胞多组学基础模型

    生成式预训练模型在自然语言处理和计算机视觉等各个领域取得了显著的成功。特别是将大规模多样化的数据集与预训练的Transformer相结合,已经成为开发基础模型的一种有前途的方法。文本由单词组成,细胞可以通过基因进行表征。这种类比启发作者探索细胞和基因生物学

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包