字符串数组的输入

2023-11-04

题目:

编写一个程序,输入n(n<6)个字符串,输出其中最短字符串的有效长度,要求定义函数int minlen(char*str[]),int n),用于计算有n个元素的指针数组str中最短的字符串长度。

code

#include<iostream>
#include<string.h>

using namespace std;
int minlen(char *str[],int n);

int main()
{
    int n;
    char *str[5];   //指针构成的数组,不能输入一个数据,根据输入的数据来分配容量,否则默认为1。
    cout<<"please input number:";
    cin>>n;
    cin.get();      //清除输入流中的回车,因为gets()会从第一个任意字符开始读,到回车停止并且抛弃回车。

    int i=n;
    while(i--)
    {
        str[i]=new char[100];
        gets(str[i]);

    }
    cout<<minlen(str,n);
    return 0;
}

int minlen(char *str[],int n)
{
    int minstr=INT_MAX;
    while(n--)
    {
        if(strlen(str[n])<minstr)
           minstr=strlen(str[n]);
    }
    return minstr;
}

问题记录

1.gets()函数和cin.getline()函数相同,从任意字符读起(包括回车),遇到回车停止读取

2.数组长度的定义不能使用输入的变量。因为数组的长度在编译时就确定了,默认为1,所以无法在程序执行中修改。如果利用输入分配内存需要使用new

3.字符数组的初始化,以a[10]为例:

  • cin输入a会自动在最后增加’\0’,实际上只读取9个字符。
  • a[10]=“adadadada”;字符串长度要小于10,因为字符串的末尾有’\0’,实际的大小是10。
  • 通过for循环实现的挨个元素的赋值要注意,初始设置的数组size=strlen+1,最后一项补’\0’;

4.没有初始化的指针要设定为NULL,否则会越界!

5.要调用字符串的读取函数比如gets,getline等,必须声明数组的size。除gets外,必须指定读取的位数。cin也可以,不过无法读取中间含有空格的字符串。

6.二维数组的内存分配与释放

  • char *a = new char[5];
    char a[0] =new char[10];
    for(i:5)
      delete[] a[i];
    delete[] a;

  • char *a[5];
      char a[0] =new char[10];
    for(i:5)
      delete[] a[i];

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串数组的输入 的相关文章

  • ubuntu pycharm 无法输入中文

    很多人反馈是和ubuntu20 04有关 但是其实应该是和pycharm20 2 3有关 只需要替换掉版本里面的jbr即可 1 下载jbr https confluence jetbrains com pages viewpage acti
  • 数组-第三大的数

    题意 给定一个非空数组 返回此数组中第三大的数 如果不存在 则返回数组中最大的数 要求算法时间复杂度必须是O n 示例 1 输入 3 2 1 输出 1 解释 第三大的数是 1 示例 2 输入 1 2 输出 2 解释 第三大的数不存在 所以返
  • 笔记本电脑运行特别慢怎么解决

    其实不管是笔记本电脑还是台式电脑 用久了肯定多多少少都会有点卡顿的情况出现 很多人的笔记本就是用久了就有这种情况 面对这种情况 如果大家想快速的解决问题 就一起学学今天的关于笔记本电脑运行特别慢怎么解决的内容吧 工具 原料 系统版本 win
  • 操作系统fork()进程

    1 fork 是创建进程函数 2 c程序一开始 就会产生 一个进程 当这个进程执行到fork 的时候 会创建一个子进程 3 此时父进程和子进程是共存的 它们俩会一起向下执行c程序的代码 4 需要注意 子进程创建成功后 fork是返回两个值
  • C语言—星空&下雪特效(Easyx)

    目录 实现效果如图 01 星空 静态 02 下雪 动态 实现效果如图 01 星空 静态 include
  • [C++11]std::promise

    一 std promise介绍 std promise 是C 11并发编程中常用的一个类 常配合std future使用 其作用是在一个线程t1中保存一个类型typename T的值 可供相绑定的std future对象在另一线程t2中获取
  • vue click.stop 阻止点击事件继续传播(阻止事件冒泡)

    场景 H5 移动端 弹窗表单 背景是遮罩 点击表单外遮罩时关闭弹窗 点击表单则不关闭弹窗 click stop 阻止点击事件继续传播
  • 进阶指针【指针的进阶使用方法】

    进阶指针目录 前言 字符指针 指向字符 指向字符串常量 指向同一个字符串常量的字符指针 指针数组 指针数组的定义和使用 数组指针 数组指针的定义 数组指针的使用 函数指针 函数指针的定义 函数指针的使用 函数指针数组 函数指针数组的定义 函
  • Opencv-Python学习(五)

    一 傅里叶变换 傅里叶变换的详细过程及推导可以看一个大佬写的 我这里就不介绍了 链接 傅里叶分析之掐死教程 完整版 更新于2014 06 06 知乎 我这里就介绍一下傅里叶变换的一些概念和opencv中如何实现傅里叶变换 低频 变化缓慢的灰
  • Microsoft Skype产品线梳理

    目录 前言 1 Skype应用程序 2 Skype for Business 3 Skype电话 4 Skype号码 5 Skype连接 总结
  • FPGA:三种基本门电路设计(与门、或门、非门)

    FPGA的设计跟数电是紧密相连的 而我们学习数电时候 学习的第一个内容就是数字逻辑基础 这里面就包含了我们今天要讲解的三种基本的门电路 这里 我们依次讲解过来 1 与门 定义 有两个或多个输入 但只有一个输出 只有在所有输入都是高但电平时才
  • 决策树学习笔记整理

    本文目的 最近一段时间在Coursera上学习Data Analysis 里面有个assignment涉及到了决策树 所以参考了一些决策树方面的资料 现在将学习过程的笔记整理记录于此 作为备忘 算法原理 决策树 Decision Tree
  • GCD(容斥定理)

    Time Limit 6000 3000ms Java Other Memory Limit 32768 32768K Java Other Problem Description Given 5 integers a b c d k yo
  • Python爬虫面试知识

    爬虫知识 网络爬虫又称网页蜘蛛 爬虫即是网络上爬行的蜘蛛 可以将理解为一种在互联网上自动提取网页信息并进行解析数据的程序 网络爬虫主要的分类有 聚焦网络爬虫 增量网络爬虫 通用网络爬虫 深层网络爬虫 Robots协议又称机器人协议 通常在网
  • 单片机学习笔记1--资料下载、环境搭建(基于百问网STM32F103系列教程)

    第1篇 资料下载 环境搭建 第一章 百问网视频体系及学习路线 1 1课程视频变化 2011 2020 百问网录制了10年的Linux视频 2021 1 首次进入单片机领域 发布单片机课程 2 重新录制Linux课程 新芯片 新内核 新路线
  • 【Vue.js学习】三、Vue案例:计数器

    Vue js学习 三 Vue案例 计数器 一 HTML页面 二 Js代码 三 效果 实现计数器 要用到Vue的监听语法 v on click 函数名 声明函数后 在js中写入 methods 进行对函数的控制 下面进行详细解释 一 HTML
  • 成功转行Python工程师,年薪35W+,吐血整理

    这是给转行做Python的小白的参考 无论是从零开始 或者是转行的朋友来说 这都是值得一看的 也是可以作为一种借鉴吧 而且我决定转行IT 互联网 行业 其实理由也很简单 不用动体力 大多数动的是脑力工作 而且现在的互联网趋势很明显 再者看到
  • THINKPHP5.1在windows系统下,安装GateWayWorker

    一 GateWayWorker简单介绍 a GatewayWorker基于Workerman开发的一个项目框架 用于快速开发TCP长连接应用 例如app推送服务端 即时IM服务端 游戏服务端 物联网 智能家居等等 b 如果你的项目是长连接并
  • 中科大、字节新作

    导读 最近 大型语言模型 Large Language Models LLMs 相关研究和落地取得了显著进展 为实现通用人工智能 AGI 迈出了重要步伐 并在各种语言应用中表现卓越 例如 2022 年底发布的 ChatGPT 能够基于在预训
  • 蓝桥杯算法训练VIP-单词接龙

    题目 题目链接 题解 DFS 真没想到居然是暴力搜索 感觉时间复杂度根本不允许啊 大致思路 每次递归都遍历全部字符串 对于每个字符串 枚举要匹配的长度 在此长度下依次匹配原串的尾与遍历到的字符串的头 完全相同说明可以匹配当前长度 就继续深搜

随机推荐

  • 20060122: 差点被偷

    昨天下班回去 车上比较挤 一中年男子掏我左上衣口袋 我转过身去 把口袋拉链拉起来 那男的又凑到我左边 右手拿把伞伸到我口袋前面 为的是挡住我前面坐着的乘客的视线 一个比较年轻的 站在我右后方 左手拿一块纸板挡住 右手开始拉我口袋拉链 我火来
  • MySQL数据库查询练习(子查询分步教程)

    注 数据库表格附录在文末 1 与张三同乡的男生姓名 step1 SELECT snativeplace FROM student WHERE sname 张三 step2 SELECT sname FROM student WHERE ss
  • C++11 智能指针

    此篇均参考C Primer第五版 为了更容易更安全的使用动态内存 C 11提供了两种智能指针 来管理动态对象 智能指针行为类似于常规指针 重要的区别在于它负责自动释放所指向的对象 shared ptr允许多个指针指向同一个对象 unique
  • Android自定义NoticeInfo实现顶部消息提示

    对于顶部消息提示功能 本文采用自定义NoticeInfo类 实现使用时只需要写一行代码 非常方便 一 效果如图所示 二 使用方法 只需要加入下面这8个文件 后面附有源码 即可使用 非常方便 使用示例 三 要加入的8个文件源代码如下 1 No
  • window下移动设备/硬盘报错位置不可用

    移动硬盘指示灯亮 但电脑上不显示 报错信息 无法访问E 参数错误 报错原因 移动硬盘打不开提示参数错误 是因为这个H盘的文件系统内部结构损坏导致的 要怎么恢复里面的数据呢 https jingyan baidu com article cb
  • java 生成条形码_JAVA 生成扫描条形码

    声明 转载为个人学习收藏 如有侵权 请及时联系本人删除 转载地址 https www cnblogs com MariaWang p 10837641 html 条形码是一种可视化 机器可读的数据 这些数据通常描述了携带该条码的物品的相关信
  • WCE下创建MFC的COM对象及使用方法(一)

    转载请标明是引用于 http blog csdn net chenyujing1234 平台 VS2005 MIPSSDK 例子代码 http www rayfile com zh cn files 7020e9b8 7240 11e1 b
  • 百度地图的基本知识与使用

    一 解释 LBS LocationBusinessServer基于定义位置的商业服务 二 使用步骤 1 登录注册 获取秘钥AK 2引入百度地图js 3创建地图的容器 div div 4初始化地图 var map new BMap Map c
  • 【安卓逆向】360加固-脱壳修复

    最近花了一些时间学习逆向脱壳 这方面一直投入的时间比较少 样本经过某加固宝进行加固 这里简单记录一下脱壳过程和思路 感谢某数字公司对安全加固的无私贡献 让我有机会小小的提高一下这方面的技能 安卓逆向交流学习qq 3251901516 vx
  • 【编程之路(003)】循环语句(for,while,do while语句)(C语言实现)

    目录 总体介绍 引言 for语句 基本语法 具体使用 for循环中的break和continue while语句 基本语法 具体使用 while语句中的break和continue do while 循环 具体使用 while语句中的bre
  • vc入门

    一 VC是什么 学VC是学什么 首先VC是一个软件 IDE集成开发环境 编译 编辑 调试 C和C 但C 中的有些特性是不用的 例如I O流 多态继承 WindowsSDK 软件开发工具 VC的灵魂 MFC 微软基础类库 ATL Active
  • php mail方法_php邮件发送的两种方式

    这篇文章研究的主要内容就是使用PHP来发送电子邮件 总结为以下两种方法 一 使用PHP内置的mail 函数 to test 163 com 收件人 subject Test 主题 message This is a test mail 正文
  • geopy 库 ConfigurationError 错误

    错误详情 geopy exc ConfigurationError Using Nominatim with default or sample user agent geopy 2 2 0 is strongly discouraged
  • LeetCode每日一练 —— 160. 相交链表

    前言 Wassup guys 我是Edison 今天是 LeetCode 上的 leetcode 160 相交链表 Let s get it 文章目录 1 题目分析 2 思路分析 判断相交 求出交点 实现步骤 3 代码实现 1 题目分析 给
  • Optional 详细用法

    1 Optional 是一个对象容器 具有以下两个特点 提示用户要注意该对象有可能为null 简化if else代码 Optional empty 创建一个空的 Optional 实例 Optional of T t 创建一个 Option
  • 正大国际:期货日内波段交易

    期货市场是变幻莫测的市场 期货价格受到各个方面的影响 很多投资者认为无法掌握期市规律 觉得期市没有规律 我认为 期货市场还是有很多规律可循的 我们只要掌握这些规律 就可以掌握大的概率 第一 价格总是能反映市场预期 第二 价格运行总是从一个平
  • PGF 概率生成函数 Probability generating function

    文章目录 随机结构举例 two classical combinatorial distributions PGF Probability generating functions定义 矩 Moments 例题 二项分布的r order 阶
  • Urban Radiance Fields

    Urban Radiance Fields 城市辐射场 摘要 这项工作的目标是根据扫描平台捕获的数据执行 3D 重建和新视图合成 这些扫描平台通常部署用于城市室外环境中的世界地图绘制 例如 街景 给定 RGB 图像序列和通过室外场景移动的相
  • 动态加载js文件-不适用缓存

    浏览器每次加载资源时 都会查看缓存内容 如果浏览器判断缓存中存在 则不重新加载资源 可以在请求资源后面增加随机数或者时间戳 让浏览器判断此请求为新请求 js文件加随机数方式如下
  • 字符串数组的输入

    题目 编写一个程序 输入n n lt 6 个字符串 输出其中最短字符串的有效长度 要求定义函数int minlen char str int n 用于计算有n个元素的指针数组str中最短的字符串长度 code include