当前位置: 首页 > news >正文

【C语言】每日一题(半月斩)——day4

 

目录

选择题

1、设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是( )

2、运行以下程序后,如果从键盘上输入 65 14<回车> ,则输出结果为( ) 

3、若运行以下程序时,从键盘输入 ADescriptor<回车> ,则下面程序的运行结果是( )

4、如下函数是求两个int数字最大公约数的,指出其中存在的问题【多选】( ) 

 5、执行下面的程序段,语句3的执行次数为( )

掌握continue和break的区别

 编程题

1.错误的集合

2.密码检查 


 

选择题

1、设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是( )

A: n=0;while(ch=getchar()!='\n')n++;     B: n=0;while(getchar()!='\n')n++;
C: for(n=0;getchar()!='\n';n++);              D: n=0;for(ch=getchar();ch!='\n';n++);

解析:

       本体考察的是对for循环      

        for循环语句,其中第一项初始化表达式只执行一次,因此ch只从输入流中取一个字符,之后就再不会取字符,因此会死循环。选D

for(赋值语句;判断语句;调整语句);      //(循环变量赋初值; 循环条件; 循环变量增值)

   {

        //...
}

2、运行以下程序后,如果从键盘上输入 65 14<回车> ,则输出结果为( ) 

int main()
{int m, n;printf("Enter m,n;");scanf("%d%d", &m,&n);while(m!=n)            //1{while(m>n) m=m-n; //2while(n>m) n=n-m; //3
}printf("m=%d\n",m);return 0;
}

A: 3            B: 2            C: 1            D: 0

解析:

本题考察的是while循环,循环嵌套的理解

          初值m=65,n=14;循环1判断m!=n为真,来到循环2判断m>n为真,执行m=m-n;直到m=9,n=14;

循环2结束来到循环3判断n>m为真,执行n=n-m;直到m=9,n=5;循环3结束回到循环1,如此往复直到m==n时,循环结束。选C

while(循环控制表达式)
{
  语句序列
}

3、若运行以下程序时,从键盘输入 ADescriptor<回车> ,则下面程序的运行结果是( )

#include <stdio.h>
int main()
{char c;int v0 = 0, v1 = 0, v2 = 0;do{switch (c = getchar()){case'a':case'A':case'e':case'E':case'i':case'I':case'o':case'O':case'u':case'U':v1 += 1;default:v0 += 1; v2 += 1;}} while (c != '\n');printf("v0=%d,v1=%d,v2=%d\n", v0, v1, v2);return 0;
}

A: v0=7,v1=4,v2=7           B: v0=8,v1=4,V2=8

C: v0=11,v1=4,v2=11       D: v0=12,v1=4,v2=12

解析:

        本题考察的是switch-case-default 语句

switch 语句中,如果进入某条case入口中没有break; 会进入下一条case中一直到default,直到遇到break;或者代码结束;        

例当c为'A'时,从case 'A'进入,先后执行v1+=1;v0+=1;v2+=1;,

而当c为'p'时,从default进入,先后执行v0+=1;v2+=1;,最终v0和v2是相等的。选D

switch(表达式)
{
case 常量1:语句1
case 常量2:语句2
default:语句n   
    break;
}

4、如下函数是求两个int数字最大公约数的,指出其中存在的问题【多选】( ) 

int gcd(char x, char y)
{int min = x < y ? x : y;for (min = 0; min > 0; min--)if (x% min = 0 && y % min = 0)return min;
}

A: 参数类型不对                                   B: 循环变量min初值不对

C: 判断等于的符号不对                         D: 返回类型不对

解析:

本题考察的:==和=(==表示判断是否相等,=表示赋值运算符)
1.函数实参是int,形参用char不对,会发生截断丢失数据;

2.min在for循环开始时更新为0,不再是两个形参中的较小值;

3.判断是否整除的时候误将==写成=赋值运算符;

4.函数最终要返回一个int值,返回值类型没问题,但是这里要强调一个选项中没写出的问题

选ABC

知识点:'==' 和 '='
   “=”是赋值。
        👉它的作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们用变量作左值,还可以看到,指针和引用也可以作左值。

  “==”是相等操作符,

       👉  判断两边是否相等。利用相等运算符,如果希望相等运算符返回true,则运算符两侧的值或语句必须使相等的;如果不相等,则==运算符返回false。

 5、执行下面的程序段,语句3的执行次数为( )

for (i = 0; i <= n - 1; i++) // (1)
for (j = n; j > i; j--) // (2)
state; // (3)

A: n(n+2)/2            B: (n-1)(n+2)/2            C: n(n+1)/2           D: (n-1)(n+2)

解析: 

        本题考察多重循环体       

外循环有n次,

        当i=0,内循环为n次,

        当i=1,内循环为n-1次,

        当i=2时,内循环为n-2次,

以此类推,总次数为 n+(n-1)+(n-2)+......+2+1,就是个等差数列,等于n(n+1)/2。 选C

在多重循环中有很多类型的循环嵌套

// 外层循环
while(条件1){ // 内层循环for(条件2){  }do{}while(条件3);
}

在循环嵌套中最需要注意的就是跳转语句

掌握continue和break的区别

👉break:

        退出当前循环!如果出现在多重循环的内层循环中,不会退出外层循环,只会退出当前循环。

👉continue(继续):

        结束本次循环(后面的代码不执行了),进入下一次循环。

break可以出现在switch选择结构和循环结构中,continue只能出现在循环中。

利用continue和break实现重复输入。

 编程题

1.错误的集合

645.错误的集合——力扣

集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。

给定一个数组 nums 代表了集合 S 发生错误后的结果。

请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。

解析:

将数组排序,才能去遍历;

        returnSize是指返回数组元素的个数。

1.:使用qsort()函数将数组排序成升序;

2:为返回值数组开辟动态内存空间,否则在出函数时会释放;

3:定义一个数来记录数组的前一个数;

4:遍历数组:相同记录为num[0],数组当前元素-前一个元素值大于一说明中间的就是缺的元素num[1];

5:如果最后一个元素不等于长度,说明最后一个就是缺的元素。

int my_cmp(const void* p1,const void* p2)
{return *(int*)p1 - *(int*)p2;
}int* findErrorNums(int* nums, int numsSize, int* returnSize)
{//将数组进行升序排序qsort(nums,numsSize,4,my_cmp);//returnSize为返回数组元素个数*returnSize = 2;//开辟动态内存空间,否则在出函数时会释放int* num = (int*)malloc(sizeof(int)*2);//定义数组的前一个数int front = 0;//遍历数组for(int i = 0; i < numsSize;i++ ){//相同记录为num[0]if(nums[i] == front){num[0] = nums[i];}//数组当前元素-前一个元素值大于一说明中间的就是缺的元素else if(nums[i] - front > 1){num[1] = nums[i]-1;}front = nums[i];}//最后一个元素不等于长度,说明最后一个就是缺的元素if(nums[numsSize-1] != numsSize){num[1] = numsSize;}return num;
}

2.密码检查 

密码检查_牛客题霸_牛客网 (nowcoder.com)

输入一个数n,接下来有n(n≤100)行,每行一个字符串,表示一个密码,输入保证字符串中只出现大写字母,小写字母和数字,字符串长度不超过100。 

解析

1:创建输入密码数量的n,和字符串arr;

2:for循环遍历,创建用于记录密码的字符是否正确count,顺便求字符串长度;

3:判断字符串长度是否合法;

4:遍历一遍字符串,格式正确就记录count;

5:最后将字符串长度与count比较,相同“YES”,反之“NO”。


int main()
{int n = 0;scanf("%d", &n);//字符串长度限制char arr[100] = { 0 };//密码个数for (int j = 0; j < n; j++){scanf("%s", arr);//用于记录密码的字符是否正确int count = 0;//字符串长度int sz = strlen(arr);//是否符合长度要求if (sz >= 8 && sz <= 100){//遍历一遍字符串,格式正确就记录for (int i = 0; i < sz; i++){if (arr[i] >= 'A' && arr[i] <= 'Z' ||arr[i] >= 'a' && arr[i] <= 'z' ||arr[i] >= '0' && arr[i] <= '9'){count++;}}}//长度对比if (sz == count){printf("YES\n");}else{printf("NO\n");}}return 0;
}

 

 

相关文章:

【C语言】每日一题(半月斩)——day4

目录 选择题 1、设变量已正确定义&#xff0c;以下不能统计出一行中输入字符个数&#xff08;不包含回车符&#xff09;的程序段是&#xff08; &#xff09; 2、运行以下程序后&#xff0c;如果从键盘上输入 65 14<回车> &#xff0c;则输出结果为&#xff08; &…...

Are you sure you want to continue connecting (yes/no) 每次ssh进

Lunix scp等命令不需要输入yes确认方法_scp不需要确认-CSDN博客 方法一&#xff1a;连接时加入StrictHostKeyCheckingno ssh -o StrictHostKeyCheckingno root192.168.1.100 方法二&#xff1a;修改/etc/ssh/ssh_config配置文件&#xff0c;添加&#xff1a; StrictHostKeyC…...

网络与信息系统安全设计规范

1、总则 1.1、目的 为规范XXXXX单位信息系统安全设计过程&#xff0c;确保整个信息安全管理体系在信息安全设计阶段符合国家相关标准和要求&#xff0c;特制订本规范。 1.2、范围 本规范适用于XXXXX单位在信息安全设计阶段的要求和规范管理。 1.3、职责 网络安全与信息化…...

在Linux怎么用vim实现把一个文件里面的文本复制到另一个文件里面

2023年10月9日&#xff0c;周一下午 我昨天遇到了这个问题&#xff0c;但在网上没找到图文并茂的博客&#xff0c;于是我自己摸索出解决办法后&#xff0c;决定写一篇图文并茂的博客。 情景 假设现在我要用vim把file_transfer.cpp的内容复制到file_transfer.hpp里面 第一步 …...

CCAK—云审计知识证书学习

目录 一、CCAK云审计知识证书概述 二、云治理概述 三、云信任 四、构建云合规计划 <...

3.springcloudalibaba gateway项目搭建

文章目录 前言一、搭建gateway项目1.1 pom配置1.2 新增配置如下 二、新增server服务2.1 pom配置2.2新增测试接口如下 三、测试验证3.1 分别启动两个服务&#xff0c;查看nacos是否注册成功3.2 测试 总结 前言 前面已经完成了springcloudalibaba项目搭建&#xff0c;接下来搭建…...

Debezium日常分享系列之:Debezium 2.3.0.Final发布

Debezium日常分享系列之&#xff1a;Debezium 2.3.0.Final发布 一、重大改变二、PostgreSQL / MySQL 安全连接更改三、JDBC 存储编码更改四、新功能和改进五、Kubernetes 的 Debezium Server Operator六、新的通知子系统七、新的可扩展信号子系统八、JMX 信号和通知集成九、新的…...

js为什么是单线程?

基础 js为什么是单线程&#xff1f; 多线程问题 类比操作系统&#xff0c;多线程问题有&#xff1a; 单一资源多线程抢占&#xff0c;引起死锁问题&#xff1b;线程间同步数据问题&#xff1b; 总结 为了简单&#xff1a; 更简单的dom渲染。js可以操控dom&#xff0c;而一…...

centos安装redis教程

centos安装redis教程 安装的版本为centos7.9下的redis3.2.100版本 1.下载地址 Index of /releases/ 使用xftp将redis传上去。 2.解压 tar -zxvf 文件名.tar.gz 3.安装 首先&#xff0c;确保系统已经安装了GCC编译器和make工具。可以使用以下命令进行安装&#xff1a; sudo y…...

把短信验证码储存在Redis

校验短信验证码 接着上一篇博客https://blog.csdn.net/qq_42981638/article/details/94656441&#xff0c;成功实现可以发送短信验证码之后&#xff0c;一般可以把验证码存放在redis中&#xff0c;并且设置存放时间&#xff0c;一般短信验证码都是1分钟或者90s过期&#xff0c;…...

【已编译资料】基于正点原子alpha开发板的第三篇系统移植

系统移植的三大步骤如下&#xff1a; 系统uboot移植系统linux移植系统rootfs制作 一言难尽&#xff0c;踩了不少坑&#xff0c;当时只是想学习驱动开发&#xff0c;发现必须要将第三篇系统移植弄好才可以学习后面驱动&#xff0c;现将移植好的文件分享出来&#xff1a; 仓库&…...

地下城堡3魂之诗食谱,地下城堡3菜谱37种

地下城堡3魂之诗食谱大全&#xff0c;让你解锁制作各种美食的方法&#xff01;不同的食材搭配不同的配方制作&#xff0c;食物效果和失效也迥异。但有时候我们可能会不知道如何制作这些食物&#xff0c;下面为您介绍地下城堡3菜谱37种。 关注【娱乐天梯】&#xff0c;获取内部福…...

HDMI 基于 4 层 PCB 的布线指南

HDMI 基于 4 层 PCB 的布线指南 简介 HDMI 规范文件里面规定其差分线阻抗要求控制在 100Ω 15%&#xff0c;其中 Rev.1.3a 里面规定相对放宽了一些&#xff0c;容忍阻抗失控在 100Ω 25%范围内&#xff0c;不要超过 250ps。 通常&#xff0c;在 PCB 设计时&#xff0c;注意控…...

理解Go中的布尔逻辑

布尔数据类型(bool)可以是两个值之一&#xff0c;true或false。布尔值在编程中用于比较和控制程序流程。 布尔值表示与数学逻辑分支相关的真值&#xff0c;它指示计算机科学中的算法。布尔(Boolean)一词以数学家乔治布尔(George Boole)命名&#xff0c;总是以大写字母B开头。 …...

rv1126-rknpu-v1.7.3添加opencv库

rv1126所使用的rknn sdk里默认是不带opencv库的&#xff0c;官方所用的例程里也没有使用opencv&#xff0c;但是这样在进行图像处理的时候有点麻烦了&#xff0c;这里有两种办法: 一是先用python将所需要的图片处理好后在转化为bin格式文件&#xff0c;在使用c或c进行读取&…...

【Redis】Redis持久化深度解析

原创不易&#xff0c;注重版权。转载请注明原作者和原文链接 文章目录 Redis持久化介绍RDB原理Fork函数与写时复制关于写时复制的思考 RDB相关配置 AOF原理AOF持久化配置AOF文件解读AOF文件修复AOF重写AOF缓冲区与AOF重写缓存区AOF缓冲区可以替代AOF重写缓冲区吗AOF相关配置写后…...

c/c++--字节对齐(byte alignment)

1. 默认字节对齐 在所有结构体成员的字节长度都没有超出操作系统基本字节单位(32位操作系统是4,64位操作系统是8)的情况下 按照结构体中字节最大的变量长度来对齐&#xff1b;若结构体中某个变量字节超出操作系统基本字节单位 那么就按照系统字节单位来对齐。 注意&#xff1…...

算法进阶——字符串的排列

题目 输入一个长度为 n 字符串&#xff0c;打印出该字符串中字符的所有排列&#xff0c;你可以以任意顺序返回这个字符串数组。 例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。 数据范围&#xff1a;n<10 要求&#xff1a;空间复…...

js中 slice 用法用法全解析

slice 工作原理 在深入研究一些更高级的用法之前&#xff0c;让我们看一下 slice 方法的基础知识。如MDN文档&#xff0c; slice 是数组上的一个方法&#xff0c;它最多有两个参数: arr.slice([begin[, end]]) begin 从该索引处开始提取原数组中的元素,如果该参数为负数&am…...

Typora安装教程

Typora 安装教程 安装 官网最新版 自行官网下载 社区版&#xff08;老版本&#xff0c;附带激活码&#xff09; 链接: https://pan.baidu.com/s/1t_3o3Xi7x09_8G1jpQYIvg?pwdmeyf 提取码: meyf 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 将百度云盘下…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...

负载均衡器》》LVS、Nginx、HAproxy 区别

虚拟主机 先4&#xff0c;后7...

leetcode73-矩阵置零

leetcode 73 思路 记录 0 元素的位置&#xff1a;遍历整个矩阵&#xff0c;找出所有值为 0 的元素&#xff0c;并将它们的坐标记录在数组zeroPosition中置零操作&#xff1a;遍历记录的所有 0 元素位置&#xff0c;将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录&#xff0c;这个目录下存放着许多可执行文件。与其他系统的可执行文件类似&#xff0c;这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中&#xff0c;用…...