对于二维数组的输入,一般是一行一行的输入,当然也可以一个个来,但最好还是一行一行的输入。

所以一行一行的输入:

for(int i= 0;i < N;i++)
        scanf("%s",perNum[i]);

对于输入,单个输入用的是%c,而一行来输入就是%s。

而有一个情况,此时我们的输入每行都是要存18个数字,所以想法就是设二维数组的时候,列数就是18。

char perNum[100][18];

那这个时候输入输出代码:

char perNum[100][18];
int N;
scanf("%d",&N);
 
for(int i= 0;i < N;i++)
    scanf("%s",perNum[i]);
 
for(int i= 0;i < N;i++)
    printf("%s\n",perNum[i]);

代码的运行结果:

其中,第一行的2,是说明这个二维数组的行数。

这个时候发现,输入没问题,但输出的时候,按理来说,应该是2行18列。可是发现第一行的输出把第二行的输入也一起输出了。

这个问题在于,输出的时候,是根据\0,即换行符号判断是否要换行输出。但由于我们设定的列数才18,刚刚好只把输入给存完,这样子就没有地方存换行符(\0)。

所以这里的改进就是,把二维数组的列数至少多一位,用于存放换行符。

所以代码改为:

char perNum[100][19];//比18多一位,存放换行符
int N;
scanf("%d",&N);
 
for(int i= 0;i < N;i++)
    scanf("%s",perNum[i]);
 
for(int i= 0;i < N;i++)
    printf("%s\n",perNum[i]);

运行结果符合要求:

转载于:https://www.cnblogs.com/joannasblog/p/9394540.html

二维(字符)数组输入(转载)相关推荐

  1. 输入5个学生的名字(英文),使用冒泡排序按从大到小排序。 提示:涉及到字符串数组,一个字符串是一个一维字符数组;一个 字符串数组就是一个二维字符数组。...

    输入5个学生的名字(英文),使用冒泡排序按从大到小排序. 提示:涉及到字符串数组,一个字符串是一个一维字符数组:一个 字符串数组就是一个二维字符数组. #include <stdio.h> ...

  2. c语言学习-从键盘输入10个字符,按照字典顺序将其排序输出(二维字符数组)

    从键盘输入10个字符,按照字典顺序将其排序输出(二维字符数组) 程序流程图: 代码: #include<stdio.h> void main() {int b[10]; int a[5][ ...

  3. C语言:用二维字符数组的每行存储键盘输入的字符串,将这些字符串按字典顺序升序排序,输出排序后的结果。

    /*C语言:用二维字符数组的每行存储键盘输入的字符串,将这些字符串按字典顺序升序排序,输出排序后的结果.*/#include <stdio.h> #include <conio.h& ...

  4. C语言二维字符数组详解

    二维字符数组一般用于存储和处理多个字符串,二维字符数组中的每一行均可存储表示一个字符串. 二维字符数组的定义 二维字符数组的定义格式为: char 数组名[第一维大小][第二维大小]; 如: char ...

  5. C语言,判断二维字符数组是否存在回文字符串 例如:char a[] [10]={“asd“,“asa“,“werew“,“yuyu“};

    判断二维字符数组是否存在回文字符串 例如:char a[] [10]={"asd","asa","werew","yuyu&quo ...

  6. C语言二维字符数组的输入

    标题 C语言字符数组的输入输出 定义一个字符二维数组,输入行数n,与列数m #include <stdio.h> #include <math.h> int main() {i ...

  7. C语言字符串类型定义(二维字符数组模拟连续存储多个字符串)(以小凡点名为例)

    经过dev-Cpp检验 #define _CRT_SECURE_NO_WARNINGS /* 老师让小凡来完成点名,让小凡在早自习的时候就点好名.老师给了小凡名单,小凡只要照着名单点名就好了是不是很简 ...

  8. 判断二维字符数组是否存在回文字符串例如:char a[] [10]={“asd“,“asa“,“werew“,“yuyu“}; 提示存在回文字符串,回文字符串对称

    1.循环二维数组,存在回文,返回1,否则返回0 int LoopStr(char str[] [10],int n) 2.回文字符串函数,是回文返回1,否则返回0 int HuiWen(char *p ...

  9. 二维字符数组按长度排序_字符串长度 字符数组长度

    1.不带转义字符的字符 如:"abc!x=/",其长度为 7 2.带转义字符的字符串 (1) 字符串"abcn":其中的'n'为转义字符(换行符),计算字符串长 ...

  10. (C++)输入输出字符矩阵(二维字符数组)的三种方法

    想输出一个这样的字符矩阵 CSU ZJU PKU scanf和printf #include<cstdio> #include<cmath>int main(){char sc ...

最新文章

  1. 微信公众号中网页安全提示去掉
  2. 蓝牙(BLE)应用框架接口设计和应用开发——以TI CC2541为例
  3. 乐迪机器人正确操作_什么是机器人示教器?
  4. vsftp 550,227 报错解决
  5. vue1与vue2的路由 以及vue2项目大概了解
  6. 帝豪gl车机系统降级_何以剑指合资?帝豪GL/英朗底盘对比
  7. 在 Flink 算子中使用多线程如何保证不丢数据?
  8. 金山词霸发音功能需要Flash player
  9. 基于VUE的前端架构设计
  10. LAMMPS学习系列(7)
  11. 【delete用法 与 object(对象)的创建】
  12. SOTIF-雨雪雾行驶场景下交通参与者视觉检测及识别
  13. 单机征途mysql步骤不对_征途单机版架设中场景服务器启动失败?这是为什么? 你怎么解决的啊?告诉我 谢谢...
  14. k8s源码分析 pdf_我是怎么阅读kubernetes源代码的?
  15. 微巨科技:公众号迁移公证流程及注意事项
  16. 华硕路由器信息发现服务器,研究人员发现华硕路由器收集用户访问记录等隐私数据...
  17. 安卓 TextView 七宗罪
  18. 0基础学会简易QQ版聊天对话功能(有完整实现代码哦)
  19. 七夕活动主题html邮件,网易邮箱发起七夕活动 这些情书让人动容
  20. 硬件工程师充电心得--嵌入式软件工程师学习路线

热门文章

  1. 遍历mysql大表的小技巧
  2. VB如何直接显示内存中的二进制图像数据
  3. 简述UTF-8编码原理及其文本文件的读写技术 【转】
  4. 谷歌推出针对AI歧视的新课程!60分钟的ML公平自学训练模块 | 资源
  5. 性能下降47%!华为、荣耀四款手机跑分作弊实锤,3DMark宣布榜单除名
  6. 清华自主招生复试,南大综合评价录取,全都考了人工智能
  7. 别人家只会编段子,谷歌带大家找乐子 | 愚人节の真 · 大型线下踏春游戏
  8. Docker (一、dockerfile-node.js)
  9. 如何打开Assets.car文件
  10. Convert.ToString和ToString的区别