输入一组数据,以-1结束输入[c]

我们新手写题时总能看到题目中类似这样的输入

没有给固定多少个数据,我们没有办法直接设置数组的元素个数,很纠结,下面我来提供一下本人的方法(新手,看到有错误或者不好的地方欢迎大佬指出,纠正,谢谢)

#include<stdio.h>
int main()
{int arr[100];int i=0;while(arr[i]!=-1)//当数组元素不为-1{i++;scanf("%d",&arr[i]);}for(int k=1;k<i;k++){printf("arr[%d]=%d ",k,arr[k]);}return 0;
}

可以看到,当我们在-1后面继续输入元素,程序不会打印出来,这时候你们可能好奇这不是for循环限制了它输出个数了吗,那么我们把for循环改一下,改成i+5,我们再试一次

这是我们改成i+5后的输出结果,在-1后面的数字都没有被正常输出,全是乱码值,因为在while循环中,我们在结尾输入arr【i】,假如rr【i】等于-1,那么这个循环就不会继续进行,数组中也就不会保存你输入-1之后输出的值,当然-1还是被保存到数组中,不想在结果中有-1我们只需要让k在循环中不等于i值就好。

上面用的while循环,同理,你懂用for,或者 do while也一样可以实现

#include<stdio.h>
int main()
{int arr[100];int i=0;do{i++;scanf("%d",&arr[i]);}while(arr[i]!=-1);for(int k=1;k<i;k++){printf("arr[%d]=%d ",k,arr[k]);}return 0;
}

#include<stdio.h>
int main()
{int arr[10];int i=0;while(1){i++;scanf("%d",&arr[i]);if(arr[i]==-1)break;}for(int k=1;k<i;k++){printf("arr[%d]=%d ",k,arr[k]);}return 0;
}

这几个代码都是等效的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/263553.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web 前端之标签练习+知识点

目录 实现过程&#xff1a; 结果显示 1、HTML语法 2、注释标签 3、常用标签 4、新标签 5、特殊标签 6、在网页中使用视频和音频、图片 7、表格标签 8、超链接标签 使用HTML语言来实现该页面 实现过程&#xff1a; <!DOCTYPE html> <html><head>…

c语言选择排序总结(详解)

选择排序cpp文件项目结构截图 项目cpp文件截图 项目具体代码截图 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <math.h> #include <iostream> #include <string.h> #include <time.h> #include &…

【C++】输入输出流 ⑥ ( cout 标准输出流对象 | cout 常用 api 简介 | cout.put(char c) 函数 )

文章目录 一、cout 标准输出流对象1、cout 标准输出流对象简介2、cout 常用 api 简介 二、cout.put(char c) 函数1、cout.put(char c) 函数 简介2、代码示例 - cout.put(char c) 函数 一、cout 标准输出流对象 1、cout 标准输出流对象简介 cout 是 标准输出流 对象 , 是 ostrea…

C++初阶(十四)list

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、 list的介绍二、list的模拟实现1、list的节点2、list 的迭代器3、list4、打印5、完整代码…

Doocker还原容器启动命令参数

get_command_4_run_container可以还原docker执行命令, 这是个第三方包&#xff0c;需要先安装&#xff1a; docker pull cucker/get_command_4_run_container 命令格式&#xff1a; docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run…

Linux中的SNAT与DNAT实践

Linux中的SNAT与DNAT实践 1、SNAT的介绍1.1&#xff0c;SNAT概述1.2&#xff0c;SNAT源地址转换过程1.3&#xff0c;SNAT转换 2、DNAT的介绍2.1&#xff0c;DNAT概述2.2&#xff0c;DNAT转换前提条件2.3&#xff0c;DNAT的转换 3、防火墙规则的备份和还原4、tcpdump抓包工具的运…

ubuntu16.04升级openssl

Ubuntu16.04 默认带的openssl版本为1.0.2 查看&#xff1a;openssl version 1.下载openssl wget https://www.openssl.org/source/openssl-1.1.1.tar.gz 编译安装 tar xvf openssl-1.1.1.tar.gz cd openssl-1.1.1 ./config make sudo make install sudo ldconfig 删除旧版本 su…

【git教程】

目录 git与SVN的区别&#xff1a;集中式与分布式的区别Windows上安装Git创建版本库/仓库&#xff08;repository&#xff09;将文件添加到repository报错处理 查看仓库的状态版本回退工作区和暂存区管理和修改撤销修改删除文件远程仓库添加远程仓库警告解除本地和远程的绑定关系…

【数电笔记】58-同步D触发器

目录 说明&#xff1a; 1. 电路组成 2. 逻辑功能 3. 特性表、特性方程 4. 状态转移图 例题 5. 同步D触发器的特点 6. 集成同步D触发器&#xff1a;74LS375 74LS375内部原理 说明&#xff1a; 笔记配套视频来源&#xff1a;B站本系列笔记并未记录所有章节&#xff0c;…

基于SSM的点餐系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

2024年法定节假日 法定上班日 工作日 休息日一览表

2024年法定节假日 法定上班日 工作日 休息日一览表 第一列&#xff1a;日期&#xff0c; 第二列&#xff1a;星期几&#xff0c; 第三列&#xff1a;枚举值2个&#xff0c;只有休息日或工作日&#xff0c; 第四列&#xff1a;枚举值4个&#xff1a;法定节假日&#xff0c;法…

Mybatis源码解析1:环境搭建

Mybatis源码解析1&#xff1a;环境搭建 1.项目结构2.pom.xml3.table.sql4. mybatis-config5.Blog6.BlogMapper7.BlogMapper.xml8.MyInterceptor9. InterceptorTest 1.项目结构 github老是打不开&#xff0c;直接贴代码吧 2.pom.xml <?xml version"1.0" encod…