C语言暑假刷题冲刺篇——day4

目录

一、选择题

二、编程题


 

  • 🎈个人主页:库库的里昂
  •  🎐CSDN新晋作者
  •  🎉欢迎 👍点赞✍评论⭐收藏
  • ✨收录专栏:C语言每日一练
  •   ✨其他专栏:代码小游戏C语言初阶
  • 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

【前言】

在大家学完初阶C语言后,有很多知识点是比较模糊的,我们应该多刷题,这样才能巩固我们所学知识。所以我开了一个新专栏C语言每日一刷,每一篇都包含5道选择题,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++);

【答案】D

【解析】

对于getchar()函数

每次只会从从键盘缓冲区读取一个字符,且遇到\n结束读取

对于for循环

  1.  第一个参数为循环的初始化【只执行一次】
  2.  第二个参数为循环的判断条件【每次进行条件判断,决定是否进入下次循环】
  3.  第三个参数为每次循环都执行的语句

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

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

【答案】C

【解析】

考查 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。

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

【答案】D

【解析】

代码 switch 语句中没有 break ,则每次找到入口进入后,顺序执行到代码块结束为止。例如当 c 为 'A' 时,从 case 'A' 进入,先后执行v1+=1;v0+=1;v2+=1; ,而当 c 为 'p' 时,从 default 进入,先后执行 v0+=1;v2+=1; ,容易看出最终 v0 和 v2 是相等的,v1+=1;执行4次,v0+=1;v2+=1;执行12次。故选D。

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: 返回类型不对

【答案】ABC

【解析】

题目函数的用途是求两个数字的最大公约数,让我们指出代码存在的问题。这种问题,即使你不知道怎么用代码求最大公约数也是能做的。

先看A选项,A说参数类型不对,那么我们观察可以发现,x,y是char型的,而题目要求两个int数字的最大公约数,参数类型不匹配,故要选A。

再看B选项,B说循环变量min初值不对,min初值被设成了0,而循环条件为min>0,因此循环一次都不会进行,更不会走到if的判断中。会直接走到return min上,最后只会返回x,y中的较小的那个,这样求最大公约数显然是错的,故要选B。

再看C选项,C说判断等于的符号不对,观察发现问题代码,if (x % min = 0 && y % min = 0)我们判断相等时要用两个=号,一个=号是赋值的意思,故要选C。

最后再看D选项,D说返回类型不对,min是int型的,而函数的返回类型也是故D错,不选。综上所述,我们的答案是ABC

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)

【答案】C

【解析】

第一次循环有 n 次

当 i=0,第二次循环为 n 次 

当 i=1,第二次循环为 n-1 次

当 i=2,第二次循环为 n-2 次

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

二、编程题

1.OJ链接 【leetcode 题号:645. 错误的集合】【难度:简单】

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

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

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

示例:
输入:nums = [1,2,2,4] 输入:nums = [1,1]
输出:[2,3] 输出:[1,2]

int* findErrorNums(int* nums, int numsSize, int* returnSize){int* arr = (int*)malloc(sizeof(int) * 2);int ret = 0;int i = 0;for (i = 0; i < numsSize; i++){ret ^= i;}int j = 0;for (j = 0; j < numsSize; j++){ret ^= nums[j];}int k = 0;for (k = 0; k < numsSize; k++){if (nums[k] == nums[k + 1])break;}ret ^= nums[k];arr[0] = nums[k];arr[1] = ret;*returnSize = 2;return arr;
}

2.OJ链接 【牛客网题号: OR141 密码检查】【难度:简单】

小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码,为了加强账户的安全性,小明
对密码强度有一定要求:

  • 1. 密码只能由大写字母,小写字母,数字构成;
  • 2. 密码不能以数字开头;
  • 3. 密码中至少出现大写字母,小写字母和数字这三种字符类型中的两种;
  • 4. 密码长度至少为 8

现在小明受到了 n 个密码,他想请你写程序判断这些密码中哪些是合适的,哪些是不合法的。

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

输出描述:输入n行,如果密码合法,输出YES,不合法输出NO

示例:
输入:1
CdKfIfsiBgohWsydFYlMVRrGUpMALbmygeXdNpTmWkfyiZIKPtiflcgppuR
输出:YES

#include <stdio.h>
#include<string.h>
#include <ctype.h>
int main() {int n, a = 0, b = 0, c = 0;scanf("%d", &n);char arr[101] = { 0 };for (int i = 0; i < n; i++){scanf("%s", &arr);if (strlen(arr) < 8){printf("NO\n");continue;}if (isdigit(arr[0]) != 0){printf("NO\n");continue;}for (int j = 0; j < n; j++){if (islower(arr[j]) != 0)a++;if (isupper(arr[j]) != 0)b++;if (isdigit(arr[j]) != 0)c++;}if (a == strlen(arr) || b == strlen(arr) || c == strlen(arr)){printf("NO\n");continue;}printf("YES\n");}return 0;
}

好了,今天的每日一刷就到这里结束了,感谢大家的观看!

d52ce744a5b345408dd596d71f65e762.png

 

 

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

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

相关文章

应用在红外遥控领域中的心率传感信号接收芯片

远程遥控技术又称为遥控技术&#xff0c;是指实现对被控目标的遥远控制&#xff0c;在工业控制、航空航天、家电领域应用广泛。红外遥控是一种无线、非接触控制技术&#xff0c;具有抗干扰能力强&#xff0c;信息传输可靠&#xff0c;功耗低&#xff0c;成本低&#xff0c;易实…

APP Store上线问题及解决方案

将iOS应用上线到App Store可能会涉及一些问题&#xff0c;在上线iOS应用之前&#xff0c;确保你充分测试应用&#xff0c;遵循苹果的开发者指南和审核规则&#xff0c;以及关注用户的反馈&#xff0c;这些都能帮助你尽可能地解决问题并提供优秀的用户体验。以下是一些可能的问题…

sizeof和strlen的对比

文章目录 &#x1f6a9;前言&#x1f6a9;sizeof&#x1f6a9;strlen&#x1f6a9;sizeof和strlen对比 &#x1f6a9;前言 很多小白在学习中&#xff0c;经常将sizeof和strlen弄混了。本篇文章&#xff0c;小编讲解一下sizeof和strlen的区别。&#x1f937;‍♂️ &#x1f6a9…

C++(4)C++内存管理和命名空间

内存管理 new/delete C语言 malloc free完成对堆内存的申请和释放。 C new delete 类 new&#xff1a;动态申请存储空间的运算符&#xff0c;返回值为申请空间的对应数据类型的地址 int *p new int(10); 申请了一个初始值为10的整型数据 int *p new int[10]; 申…

LeetCode无重复字符的最长子串

给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “…

Windows下搭建Tomcat HTTP服务,发布外网远程访问

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…

【Jellyfin影音服务器】 本地部署公网远程影音库

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及&#xff0c;各种各样的使用需求也被开发出来&…

Linux环境下远程访问SVN服务:SVN内网穿透的详细配置与操作指南

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

Java中collection接口的基本介绍和常用方法的代码以及迭代器的使用代码

在 Java 中&#xff0c;Collection 接口是 Java 集合框架中的根接口&#xff0c;它定义了一组操作来处理一组对象&#xff0c;即集合。Collection 接口的主要目的是提供一种统一的方式来操作和处理集合&#xff0c;无论是使用列表、集、队列还是映射等。 以下是关于 Collectio…

无涯教程-PHP - 常量数组

现在可以使用 define()函数定义数组常量。在PHP 5.6中&#xff0c;只能使用 const 关键字定义它们。 <?php//define a array using define functiondefine(animals, [dog,cat,bird]);print(animals[1]); ?> 它产生以下浏览器输出- cat PHP - 常量数组 - 无涯教程网无…

手写模拟SpringBoot核心流程(二):实现Tomcat和Jetty的切换

实现Tomcat和Jetty的切换 前言 上一篇文章我们聊到&#xff0c;SpringBoot中内置了web服务器&#xff0c;包括Tomcat、Jetty&#xff0c;并且实现了SpringBoot启动Tomcat的流程。 那么SpringBoot怎样自动切换成Jetty服务器呢&#xff1f; 接下来我们继续学习如何实现Tomcat…

R语言:联合多指标的ROC曲线

# 加载数据和包rm(list=ls())library(pROC)library(ggplot2)setwd("C:/Users/syy/Desktop/MRI_lab/")data<- read.csv("test1.csv", header = T)data$Groups

c++ std::thread线程类

1. std::thread类 /* 源码来自vs2017 */using _Thrd_id_t unsigned int; struct _Thrd_t { // thread identifier for Win32void* _Hnd; // Win32 HANDLE_Thrd_id_t _Id; //保存线程id };class thread { // class for observing and managing threads public:class id;using …

Linux内核学习笔记——ACPI命名空间

所有定义块都加载到单个命名空间中。命名空间 是由名称和路径标识的对象层次结构。 以下命名约定适用于 ACPI 中的对象名称 命名空间&#xff1a; 所有名称的长度均为 32 位。 名称的第一个字节必须是“A”-“Z”、“_”之一。 名称的每个剩余字节必须是“A”-“Z”、“0”之…

【移动端开发】鸿蒙系统开发入门:代码示例与详解

一、引言 随着华为鸿蒙系统的日益成熟&#xff0c;越来越多的开发者开始关注这一新兴的操作平台。本文旨在为初学者提供一份详尽的鸿蒙系统开发入门指南&#xff0c;通过具体的代码示例&#xff0c;引导大家逐步掌握鸿蒙开发的基本概念和技术。 二、鸿蒙系统开发基础 鸿蒙系…

Mysql-InnoDB数据页结构

一、页结构说明 大致分7部分 二、记录在页中的存储 2.1 页面记录内存结构 行格式 存储到 User Records 部分&#xff0c;每当我们插入一条记录&#xff0c;都会从 Free Space 部分申请一个记录大小的空间划分到 User Records 部分 &#xff0c;用完则申请新的页&#xff1b; …

open cv学习 (十一)视频处理

视频处理 demo1 import cv2 # 打开笔记本内置摄像头 capture cv2.VideoCapture(0) # 笔记本内置摄像头被打开 while capture.isOpened():# 从摄像头中实时读取视频retval, image capture.read()# 在窗口中实时显示读取到的视频cv2.imshow("Video", image)# 等到用…

《React.js手把手教程:从初学者到实战高手》- 关于React.js

最近公司倒闭了。目前这个大环境&#xff0c;不知何时能找到下一家。但人不能闲着&#xff0c;总得给自己找点事做。 其实很早之前就想写本书了&#xff0c;但苦于一直没有闲情。既然现在有点时间&#xff0c;那就开始动手吧。 刚开始是想写有关React Native的&#xff0c;但…

【MySQL系列】Select语句单表查询详解(一)

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

【unity数据持久化】XML数据管理器知识点

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…