经过dev-Cpp检验

#define _CRT_SECURE_NO_WARNINGS
/* 老师让小凡来完成点名,让小凡在早自习的时候就点好名。老师给了小凡名单,小凡只要照着名单点名就好了是不是很简单啊。输入
输入有多组数据,直到文件结束。每组测试数据有三行,第一行为两个整数m, n(50 >= m >= n)。第二行有m个名字,名字之间用空格隔开,是小凡班上同学的名单。
后面有n个名字是来上课的同学。(名字间用空格隔开。名字的长度不超过20个字符。)输出
按照第一行的名单,每个人对应输出是否到了。
到的人输出Yes,没到的人输出No。样例输入
3 2
Bob Marry Jam
Bob Jam
2 2
Limeme Lintianzhi
Limeme Lintianzhi
样例输出
Yes
No
YesYes
Yes*/#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
// // 拷贝到平台的时候把my_fuction_lib.h注释掉.
//#include "my_fuction_lib.h"//在此下方插入自定义函数对的声明://主函数main
/*注意,再定义新类型时,strings[xx][xx]和string(*)[xx]=string[][xx]不同,后者存储大小未知*/
typedef  char strings[50][100];int main() {int n, m, i, j;///*用字符数组模拟字符串类型//用二维的字符数组类存储多个字符串*///char Roll[50][50];//roll 名单/打滚//char Roll_call[50][50];//存储点到的同学的名字的容器strings Roll, Roll_call;/*连续读入两个数,知道各组测试输入都结束位置eof应当先设计如何读入一组完整的输入(一组输入可能包含各种格式)然后设计一个循环类不断读入新数据*/while (scanf("%d%d", &m, &n) != EOF) {// for(int i = 0;i<50;i++)// {//     if(scanf("%s",Roll[i]) == EOF)//         break;// }/*//既然不能只依靠scanf_s()来实现跳出该for,那就再for里的判断条件直接在读取条数上做个限制.//当然我起初的想法是想通过读入函数直接就达到结束读入的目的(幸运的是这个题提前知道了m,n(各部分会读入名字字符串的数目))*//*//读够m个了之后直接跳出循环*/for (i = 0; i < m; i++)/*读入格式控制模式:%s;由于Roll是二维数组,所以Roll[i]就是第i各字符串的首地址*/scanf("%s", Roll + i, 100);for (i = 0; i < n; i++)scanf("%s", Roll_call + i, 100);/*本问题需要用一个二重循环来遍历判断根据花名册来循环*/for (i = 0; i < m; i++) {/*为了确定被点到名的同学是否来了,需要对现场的所有学上进行一次遍历判断*/for (j = 0; j < n; j++) {if (!strcmp(Roll[i], Roll_call[j])) {printf("Yes\n");/*如果找到了的话,就没必要再找啦*/break;}}/*如果找遍了所有的在场学生都没有找到,那么认定该同学缺勤(找遍了的判断条件为j=n)*/if (j == n)//不加判断的话一定会输出No的.非break跳出内层for时,j++会到nprintf("No\n");}}return 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. python创建二维空列表_python定义二维空数组

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 稀疏矩阵的格式存储矩阵的一般方法是采用二维数组,其优点是可以随机地访问每一个元素 ...

最新文章

  1. 前端见微知著JavaScript基础篇:你所不知道的apply, call 和 bind
  2. 【项目管理】项目经理每天、每周、每月应该做的都在这
  3. matlab 两列数据相乘,在EXCEL中,两列完全相同的数据,求和结果不一样??单元格两列相乘的公式...
  4. phpstudy升级mysql之后,修改配置文件无效的问题
  5. 如何用 Flutter 实现混合开发?闲鱼公开源代码实例
  6. 电源模块的安全设计和热设计
  7. PyTorch系列入门到精通——梯度消失与爆炸,损失函数
  8. 多表查询,初识pymysql模块
  9. C语言学习笔记--数组参数和指针参数
  10. csgo自动选择服务器,CSGO服务器怎么选择合适的配置?CSGO服务器如何选择系统?...
  11. 正确使用“下划线”一词
  12. 学业水平测试计算机知识点,2021高中学业水平考试信息技术知识点
  13. 内存颗粒位宽和容量_DDR4内存终极解析(一)--DDR4内存颗粒
  14. mysql 多条件 sumif_关于求和我只用数据库函数Dsum,从不用Sum、Sumif等,你信吗?...
  15. 终极解锁邮件签名证书(S/MIME证书)
  16. 毕业晚会主题八个字计算机学院,毕业主题标语8个字
  17. 逆滤波和维纳滤波(附Matlab完整代码)
  18. 让AWS虚机访问公司内网资源(SSH反向代理)
  19. php注册 用cdn,国外免费CDN加速及防护:CloudFlare注册使用教程
  20. 平均股价的时间序列图形_求平均股价指数的公式怎么编???????

热门文章

  1. vue input 中文输入法回车
  2. 科技圈患上算法专利的“卡脖子PTSD”综合症
  3. python基于django的商品比价平台
  4. 【C++11新特性】 nullptr关键字
  5. 网络性能优化的几个思路
  6. vue3中使用swiper7
  7. 别再研究秒杀茅台了,小伙用爬虫捡漏买奔驰!
  8. MySQL中对敏感字段值进行加密存储
  9. 车库咖啡参与投资拍摄的电影《当我们海阔天空》即将上映
  10. android 大屏幕 清晰度,为什么安卓系统手机都长一个样?无非是大屏幕 ips显示屏 大分辨率 大内存 一样的大平板形状,三个chu传统...