C语言每日一练——day_5
引言
针对初学者,每日练习几个题,快速上手C语言。第五天。(连续更新中)
采用在线OJ的形式
什么是在线OJ?
在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用来测试参赛程序的在线系统,也可以用于平时的练习。
详细内容可以看一下这篇博客:
关于C/C++语言的初学者在哪刷题,怎么刷题-CSDN博客
https://blog.csdn.net/2401_88433210/article/details/146056171?spm=1011.2415.3001.10575&sharefrom=mp_manage_link
1. 你是天才吗?
点进去直接做题:
你是天才吗?_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/557cc54704bb4d56b73b62d1a5455331?tpId=107&&tqId=33322&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
#include <stdio.h>//方法1int main(){int n = 0;while(scanf("%d", &n) != EOF){if(n>=140)printf("Genius");}return 0;}//方法2
#include <stdio.h>
int main()
{int n = 0;//这种写法是因为scanf读取失败返回EOF,EOF是-1,所以按位取反后的结果是0,0为假,可以让循环停止。while(~scanf("%d", &n)){if(n>=140)printf("Genius");}return 0;}
解析:
关于对组输入的题目,一定要处理好多组数据的输入问题,然后考虑循环如何结束。
方法1和方法2,给出了2种多组输入的方法。
2.完美成绩
点进去直接做题
完美成绩_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/8312e497509a450f968d9a6a2381ce32?tpId=107&&tqId=33323&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
#include <stdio.h>int main(){int score = 0;while(scanf("%d", &score) != EOF){//注意if()后面不要加分号,a大于90且小于100要用&&表示与if(score >= 90 && score<=100)printf("Perfect");}return 0;}
解析:
1. 多组输入。
2. 数学中的 90<=score<=100 的写法,在C语言中直接写是有bug的,是不允许的。
3.及格分数
点进去直接做题
及格分数_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/56513524333148b38945e1989bc7df4e?tpId=107&&tqId=33324&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
#include <stdio.h>int main(){int score = 0;while(scanf("%d", &score) != EOF){if(score >= 60)printf("Pass\n");elseprintf("Fail\n");}return 0;}
解析:不用认为题简单就不自己敲了,一定要多敲。
4.判断整数奇偶性
点进去直接做题
判断整数奇偶性_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/a8b018667e274af29b5f76a6673450fc?tpId=107&&tqId=33325&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
#include <stdio.h>int main(){int num = 0;while(scanf("%d", &num) != EOF){if(num % 2==1)printf("Odd\n");elseprintf("Even\n");}return 0;}
解析:很简单的一个题,一定要直接敲一遍。
5.最高分数
点进去直接做题:最高分数_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/52c18a3b49a54fc98107fbdde1415f90?tpId=107&&tqId=33326&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
//恶心大家一下,从中间往两边看,看不懂没关系,看代码二
#include<stdio.h>
int main()
{int a,b,c;scanf("%d %d %d",&a,&b,&c);printf("%d\n",a>b? a>c? a:c : b>c? b:c);return 0;
}//代码二:
#include <stdio.h>int main(){int i = 0;int score[3] = {0};while(scanf("%d %d %d", &score[0], &score[1], &score[2]) != EOF){int max = 0;//每一组测试,max都恢复到0int i = 0;for(i=0; i<3; i++){if(score[i] > max)max = score[i];}printf("%d\n", max);}}return 0;
解析:学习不同代码的优点。
6.判断是元音还是辅音
点进去直接做题:
判断是元音还是辅音_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/7eb4df4d52c44d309081509cf52ecbc4?tpId=107&&tqId=33327&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
//方法1#include <stdio.h>int main(){char ch = 0;char arr[] = "AEIOUaeiou";while((ch=getchar()) != EOF){int i = 0;for(i=0; i<10; i++){if(ch == arr[i]){printf("Vowel\n");break;}}if(i == 10)printf("Consonant\n");getchar();//去除每个字符后的\n}return 0;}//方法2#include <stdio.h>int main(){char ch = 0;char arr[] = "AEIOUaeiou";//在%c的前面写一个空格会消化掉前面所有的空白字符,然后读取一个字符while(scanf(" %c", &ch) != EOF){int i = 0;for(i=0; i<10; i++){if(ch == arr[i]){printf("Vowel\n");break;}}if(i == 10)printf("Consonant\n");}return 0;}//方法3#include <stdio.h>int main(){char ch = 0;char arr[] = "AEIOUaeiou";//在%c的后边发给一个'\n',其实在输入时候就会消化掉这个\n字符//不会为下次留下空白字符的隐患while(scanf("%c\n", &ch) != EOF){int i = 0;for(i=0; i<10; i++){if(ch == arr[i]){printf("Vowel\n");break;}}if(i == 10)printf("Consonant\n");}return 0;}
解析:本题的重点是处理\n,这里提供了三种方法。
7.判断是不是字母
点进去直接做题
判断是不是字母_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/91a588dd4cd244bfa616f17603ec123c?tpId=107&&tqId=33328&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
//代码一:
#include<stdio.h>
int main(){char a;while((a=getchar())!=EOF){if(('a'<=a && a<='z')||('A'<=a && a<='Z')){printf("%c is an alphabet.\n",a);}else{printf("%c is not an alphabet.\n",a);}getchar();}
}//代码二:使用库函数
#include<ctype.h>
#include<stdio.h>
int main(){char a;while((a=getchar())!=EOF){if(isalpha(a)){printf("%c is an alphabet.\n",a);}else{printf("%c is not an alphabet.\n",a);}getchar();}
}
解析:灵活运用前面学过的知识。
关于isalpha函数,可以看下这篇:C/C++中对字符处理的常用函数-CSDN博客文章浏览阅读419次,点赞12次,收藏17次。C语言中的 ctype.h 头文件提供了一系列字符分类和转换函数,用于高效处理字符相关操作。https://blog.csdn.net/2401_88433210/article/details/146140744?spm=1011.2415.3001.10575&sharefrom=mp_manage_link
8.字母大小写转换
点进去直接做题:字母大小写转换_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/850ebd30a2a34cfc87199da3fc15786a?tpId=107&&tqId=33329&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
int main(){int ch = 0;//多组输入while((ch=getchar()) != EOF){if(islower(ch)){printf("%c\n", toupper(ch));}else{printf("%c\n", tolower(ch)); }//处理'\n'getchar();}return 0;}
解析:对前面知识灵活运用。
9.计算单位阶跃函数
点进去直接做题:
计算单位阶跃函数_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/0b23793ae48a4e6cb7dfff042c959a04?tpId=107&&tqId=33331&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
#include<stdio.h>int main(){int t = 0;while(scanf("%d", &t) !=EOF){if(t>0)printf("%d\n", 1);else if(t == 0)printf("%.1f\n", 0.5f);elseprintf("%d\n", 0);}return 0;}
解析:要严格按照题的格式来。
10.三角形判断
点进去直接做题:
三角形判断_牛客题霸_牛客网 (nowcoder.com)
https://www.nowcoder.com/practice/689ec1e742394e09b1059556fc167b65?tpId=107&&tqId=33332&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:
#include <stdio.h>int main() {int a, b, c;while(scanf("%d %d %d",&a, &b, &c) != EOF){if (a + b > c && a + c > b && b + c > a){if(a == b && b== c) printf("Equilateral triangle!\n");else if(a == b || a == c || b == c) printf("Isosceles triangle!\n");else printf("Ordinary triangle!\n");}else printf("Not a triangle!\n");}return 0;
}
解析:根据条件if-else就可以解决。
相关文章:
C语言每日一练——day_5
引言 针对初学者,每日练习几个题,快速上手C语言。第五天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…...
38.动态规划11
最长公共子序列 class Solution { public:int longestCommonSubsequence(string text1, string text2) {int n1text1.size();int n2text2.size();int res0;vector<int> dp(n2,0);for(int i0;i<n1;i){for(int jn2-1;j>0;j--){if(text2[j]text1[i]){for(int k0;k<…...
解析动态窗口法:机器人避障的智能 “导航仪”
在繁忙的智能仓库里,机器人正有条不紊地执行着搬运任务。这里货架林立,货物堆积如山,叉车往来穿梭,地面上还散落着一些临时放置的工具。一台小巧灵活的移动机器人,肩负着将特定货物从角落搬运至出货口的重任。只见它以稳定的速度朝着目标前进,突然,前方不远处一辆叉车急…...
【社区投稿】深入再谈智能指针、AsRef引用与Borrow借用
深入再谈智能指针、AsRef引用与Borrow借用 这是一个具有深度的技术主题。每次重温其理论知识,都会有新的领悟。大约 2 年前,我曾就这一技术方向撰写过另一篇短文《从类型转换视角,浅谈Deref<Target T>, AsRef<T>, Borrow<T&g…...
元组(Tuple)详解——c#
在C#中,元组(Tuple) 是一种轻量级的数据结构,用于将多个值组合成一个单一的对象。元组非常适合在不需要定义新类或结构体的情况下,临时存储和传递多个相关的值。 C# 中的元组有两种形式: 传统元组…...
串口通信函数汇总-ing
谢谢各位佬的阅读,本文是我自己的理解,如果您发现错误,麻烦请您指出,谢谢 首先谈谈我自己对于串口的理解,随便拿一个嵌入式的板子,它上面有两个引脚,一个是rx,一个是tx,r…...
01.Kubernetes 概述
Kubernetes 概述 Kubernetes 概述1. Kubernetes系统组件、集群及工作机制1.1 Kubernetes 集群的节点类型1.2 Kubernetes 集群架构1.2.1 API Server1.2.2 Cluster Store (etcd)1.2.3 Controller Manager1.2.4 Scheduler1.2.5 Kubelet1.2.6 Kube Proxy 1.3…...
十种处理权重矩阵的方法及数学公式
1. 权重归一化(Weight Normalization) 目的:通过分离权重向量的范数和方向来加速训练。公式:对于权重向量 w \mathbf{w} w,归一化后的权重 w ′ \mathbf{w} w′ 为: w ′ w ∥ w ∥ \mathbf{w} \frac{…...
JVM垃圾回收面试题及原理
1. 对象什么时候可以被垃圾器回收 如果一个或多个对象没有任何的引用指向它了,那么这个对象现在就是垃圾,如果定位了垃圾,则有可能会被垃圾回收器回收 如果要定位什么是垃圾,有两种方式来确定 引用计数法可达性分析算法 1.1 …...
Flutter 小技巧之通过 MediaQuery 优化 App 性能
许久没更新小技巧系列,温故知新,在两年半前的《 MediaQuery 和 build 优化你不知道的秘密》 我们聊过了在 Flutter 内 MediaQuery 对应 rebuild 机制,由于 MediaQuery 在 MaterialApp 内,并且还是一个 InheritedWidget ࿰…...
操作系统知识点23
1.实时操作系统的主要设计目标:在严格时间氛围内对外部请求做出反应。 2.当用户程序正在处理器上运行时,若此刻取到了一条特权指令,则处理器将停止执行该指令,并产生一个“非法操作”的事件 3.某网络监控系统中。多个被授权的用…...
【解决报错】:detected dubious ownership in repository at ‘D:/idea_code/xxx‘问题
解决报错:detected dubious ownership in repository at D:/idea_code/xxx‘问题 git config --global --add safe.directory *原因 这个错误提示表明 Git 检测到仓库的所有权存在问题,仓库的所有者与当前用户不匹配。Git 在 2.35.2 版本之后引入了一个…...
三角函数:从宇宙法则到AI革命的数学密钥
——跨越三千年的数学语言与现代科技全景透视 一、数学本质:宇宙的波动密码 1.1 拓扑学视角下的三角函数 三角函数本质是单位圆上点的坐标参数化,其数学表达可抽象为: { x cos θ ℜ ( e i θ ) y sin θ ℑ ( e i θ ) \begin…...
SpringBoot基础Kafka示例
这里将生产者和消费者放在一个应用中 使用的Boot3.4.3 引入Kafka依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId> </dependency>yml配置 spring:application:name: kafka-1#kafka…...
Spring 的三种注入方式?
1. 实例的注入方式 首先来看看 Spring 中的实例该如何注入,总结起来,无非三种: 属性注入 set 方法注入 构造方法注入 我们分别来看下。 1.1 属性注入 属性注入是大家最为常见也是使用最多的一种注入方式了,代码如下&#x…...
STM32第一天建立工程
新建一个工程 1:新建一个文件,添加文件 a:DOC工程说明 》doc说明文档 b:Libraries固件库 》cmsis内核文件 (一般这就是stm32内核文件) 》FWLIB外设文件 (这种就是stm32外设文件不全) 》start…...
记录一下返修
1.对复杂度的分析还不够; 2.融合两种指标的解释还不够,审稿人认为这两种指标存在冲突,不能同时优化,但其实我们考虑的是公平性保证整个调度周期内用户分配到了更加平均的sum-rate,而se是为了追求每个调度时刻都尽可能找到信道条件…...
搭建本地化笔记AI:用Copilot+deepseek+nomic-embed-text构建本地智能知识系统
安装Ollama https://ollama.com/ 下载模型 下载大语言模型 根据自己电脑的配置选择模型的大小 ollama run deepseek-r1:8b 下载向量处理模型 创建向量数据库时需要使用Embedding模型对文本进行向量化处理 ollama pull nomic-embed-text 查看安装的模型 ollama listNAME …...
【C语言】指针篇
目录 C 语言指针概述指针的声明和初始化声明指针初始化指针 指针的操作解引用操作指针算术运算 指针的用途动态内存分配作为函数参数 指针与数组数组名作为指针通过指针访问数组元素指针算术和数组数组作为函数参数指针数组和数组指针指针数组数组指针 函数指针函数指针的定义和…...
【蓝桥杯单片机】第十一届省赛
一、真题 二、创建工程 1.在C盘以外的盘新建文件夹,并在文件夹里面创建两个文件夹Driver 和Project 2.打开keil软件,在新建工程并选择刚刚建好的project文件夹,以准考证号命名 3.选择对应的芯片型号 4.选择否,即不创建启动文件 …...
【存储中间件】Neo4J图数据库超详细教程(一):相关介绍、特点及优势、数据模型、软件安装
文章目录 Neo4J超详细教程一、Neo4J相关介绍1.为什么需要图数据库方案1:Google方案2:Facebook 2.特点和优势3.什么是Neo4j4.Neo4j数据模型图论基础属性图模型Neo4j的构建元素 5.软件安装 个人主页:道友老李 欢迎加入社区:道友老李…...
xxl-job部署在docker-destop,实现定时发送预警信息给指定邮箱
XXL-JOB XXL-JOB是一个分布式任务调度平台(XXL是作者徐雪里姓名拼音的首字母),其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 源码仓库地址:https://github.com/xuxueli/xxl-job 源码结构: 系统架构 在xxl-j…...
【QT】QScrollBar设置样式:圆角、隐藏箭头、上边距等
目录 0.简介 1.原理 2.具体代码 0.简介 环境:Ubuntu22.04、qtDesigner绘制UI 项目需要,按照UI修改滚动条样式,滚动条我使用的是QScrollBar,默认样式和修改之后的样式如下: 1.原理 2.具体代码 我是用qtDesigner绘制…...
trae中文版AI搭建完整可用的项目框架
Trae 是由字节跳动推出的 AI 原生集成开发环境(AI IDE),号称可以搭建完整项目,个人试用后体验确实比Cursor或cline更便捷,因为他多个文件关联准确率更高。 正式版的trae不支持大陆使用,不过目前已经推出了…...
多数元素——面试经典150题(力扣)
题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3] 输出:3 …...
cfi网络安全 网络安全hcip
目录 RIP (路由信息协议) 算法 开销 版本 开销值的计算方式 RIPV1和RIPV2的区别 RIP的数据包 Request(请求)包 Reponse(应答)包 RIP的特征 周期更新 RIP的计时器 1,周期更新计时器 2,失效计时器 3,垃圾回收计时器 RIP的核心思…...
Banana Pi 与瑞萨电子携手共同推动开源创新:BPI-AI2N
2025年3月11日, Banana Pi 开源硬件平台很高兴宣布,与全球知名半导体解决方案供应商瑞萨电子(Renesas Electronics)正式达成技术合作关系。此次合作标志着双方将在开源技术、嵌入式系统和物联网等领域展开深度合作,为全…...
linux 命令 ls
ls 是 Linux 系统中用于列出目录内容的核心命令,几乎所有日常操作都会用到。以下是其详细用法和常见场景说明 1. 基础语法 ls [选项] [目录/文件] 不指定目录时,默认列出当前目录的内容。 可以指定文件或目录路径,支持通配符(如…...
论数组去重之高效方法
论数组去重之高效方法 数组去重的高效方法主要有 利用 Set 数据结构、利用对象/Map哈希表、排序后遍历去重 三种核心方案。其中 Set 是ES6最简单高效的方式,时间复杂度为 O(n);若需兼容性优化或处理特殊数据类型,可结合哈希表或排序实现。 分点论述: 1. 使用 Set 数据结构…...
C#-扩展方法-Linq
密封类 sealed,无法被继承 var 可以定义匿名对象 static void test1() {var t 1;t "jack";//报错,类型已经确定好了var s new{id 1,name "tom"};Console.WriteLine(s.id s.name); } 扩展方法 对现有类型做方法的扩展&am…...
