C语言每日一练——day_5

news2025/3/13 14:08:30

引言

        针对初学者,每日练习几个题,快速上手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>
 //方法1
 int 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");
        else
        printf("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");
    else
         printf("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都恢复到0
        int 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);
    else
        printf("%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就可以解决。

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

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

相关文章

【社区投稿】深入再谈智能指针、AsRef引用与Borrow借用

深入再谈智能指针、AsRef引用与Borrow借用 这是一个具有深度的技术主题。每次重温其理论知识&#xff0c;都会有新的领悟。大约 2 年前&#xff0c;我曾就这一技术方向撰写过另一篇短文《从类型转换视角&#xff0c;浅谈Deref<Target T>, AsRef<T>, Borrow<T&g…

串口通信函数汇总-ing

谢谢各位佬的阅读&#xff0c;本文是我自己的理解&#xff0c;如果您发现错误&#xff0c;麻烦请您指出&#xff0c;谢谢 首先谈谈我自己对于串口的理解&#xff0c;随便拿一个嵌入式的板子&#xff0c;它上面有两个引脚&#xff0c;一个是rx&#xff0c;一个是tx&#xff0c;r…

JVM垃圾回收面试题及原理

1. 对象什么时候可以被垃圾器回收 如果一个或多个对象没有任何的引用指向它了&#xff0c;那么这个对象现在就是垃圾&#xff0c;如果定位了垃圾&#xff0c;则有可能会被垃圾回收器回收 如果要定位什么是垃圾&#xff0c;有两种方式来确定 引用计数法可达性分析算法 1.1 …

Flutter 小技巧之通过 MediaQuery 优化 App 性能

许久没更新小技巧系列&#xff0c;温故知新&#xff0c;在两年半前的《 MediaQuery 和 build 优化你不知道的秘密》 我们聊过了在 Flutter 内 MediaQuery 对应 rebuild 机制&#xff0c;由于 MediaQuery 在 MaterialApp 内&#xff0c;并且还是一个 InheritedWidget &#xff0…

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 中的实例该如何注入&#xff0c;总结起来&#xff0c;无非三种&#xff1a; 属性注入 set 方法注入 构造方法注入 我们分别来看下。 1.1 属性注入 属性注入是大家最为常见也是使用最多的一种注入方式了&#xff0c;代码如下&#x…

STM32第一天建立工程

新建一个工程 1&#xff1a;新建一个文件&#xff0c;添加文件 a:DOC工程说明 》doc说明文档 b&#xff1a;Libraries固件库 》cmsis内核文件 &#xff08;一般这就是stm32内核文件&#xff09; 》FWLIB外设文件 &#xff08;这种就是stm32外设文件不全&#xff09; 》start…

搭建本地化笔记AI:用Copilot+deepseek+nomic-embed-text构建本地智能知识系统

安装Ollama https://ollama.com/ 下载模型 下载大语言模型 根据自己电脑的配置选择模型的大小 ollama run deepseek-r1:8b 下载向量处理模型 创建向量数据库时需要使用Embedding模型对文本进行向量化处理 ollama pull nomic-embed-text 查看安装的模型 ollama listNAME …

【蓝桥杯单片机】第十一届省赛

一、真题 二、创建工程 1.在C盘以外的盘新建文件夹&#xff0c;并在文件夹里面创建两个文件夹Driver 和Project 2.打开keil软件&#xff0c;在新建工程并选择刚刚建好的project文件夹&#xff0c;以准考证号命名 3.选择对应的芯片型号 4.选择否&#xff0c;即不创建启动文件 …

【存储中间件】Neo4J图数据库超详细教程(一):相关介绍、特点及优势、数据模型、软件安装

文章目录 Neo4J超详细教程一、Neo4J相关介绍1.为什么需要图数据库方案1&#xff1a;Google方案2&#xff1a;Facebook 2.特点和优势3.什么是Neo4j4.Neo4j数据模型图论基础属性图模型Neo4j的构建元素 5.软件安装 个人主页&#xff1a;道友老李 欢迎加入社区&#xff1a;道友老李…

xxl-job部署在docker-destop,实现定时发送预警信息给指定邮箱

XXL-JOB XXL-JOB是一个分布式任务调度平台&#xff08;XXL是作者徐雪里姓名拼音的首字母&#xff09;&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 源码仓库地址&#xff1a;https://github.com/xuxueli/xxl-job 源码结构&#xff1a; 系统架构 在xxl-j…

【QT】QScrollBar设置样式:圆角、隐藏箭头、上边距等

目录 0.简介 1.原理 2.具体代码 0.简介 环境&#xff1a;Ubuntu22.04、qtDesigner绘制UI 项目需要&#xff0c;按照UI修改滚动条样式&#xff0c;滚动条我使用的是QScrollBar&#xff0c;默认样式和修改之后的样式如下&#xff1a; 1.原理 2.具体代码 我是用qtDesigner绘制…

trae中文版AI搭建完整可用的项目框架

Trae 是由字节跳动推出的 AI 原生集成开发环境&#xff08;AI IDE&#xff09;&#xff0c;号称可以搭建完整项目&#xff0c;个人试用后体验确实比Cursor或cline更便捷&#xff0c;因为他多个文件关联准确率更高。 正式版的trae不支持大陆使用&#xff0c;不过目前已经推出了…

cfi网络安全 网络安全hcip

目录 RIP (路由信息协议) 算法 开销 版本 开销值的计算方式 RIPV1和RIPV2的区别 RIP的数据包 Request(请求)包 Reponse(应答)包 RIP的特征 周期更新 RIP的计时器 1&#xff0c;周期更新计时器 2&#xff0c;失效计时器 3&#xff0c;垃圾回收计时器 RIP的核心思…

Banana Pi 与瑞萨电子携手共同推动开源创新:BPI-AI2N

2025年3月11日&#xff0c; Banana Pi 开源硬件平台很高兴宣布&#xff0c;与全球知名半导体解决方案供应商瑞萨电子&#xff08;Renesas Electronics&#xff09;正式达成技术合作关系。此次合作标志着双方将在开源技术、嵌入式系统和物联网等领域展开深度合作&#xff0c;为全…

linux 命令 ls

ls 是 Linux 系统中用于列出目录内容的核心命令&#xff0c;几乎所有日常操作都会用到。以下是其详细用法和常见场景说明 1. 基础语法 ls [选项] [目录/文件] 不指定目录时&#xff0c;默认列出当前目录的内容。 可以指定文件或目录路径&#xff0c;支持通配符&#xff08;如…

C#-扩展方法-Linq

密封类 sealed&#xff0c;无法被继承 var 可以定义匿名对象 static void test1() {var t 1;t "jack";//报错&#xff0c;类型已经确定好了var s new{id 1,name "tom"};Console.WriteLine(s.id s.name); } 扩展方法 对现有类型做方法的扩展&am…

Go红队开发—web网络编程

文章目录 web网络编程Req快速请求 调试DevModeDebugLogTraceInfo瓶颈分析 控制请求与响应控制请求的字段内容控制调试打印的内容分开dump请求与响应部分请求体设置 作用范围级别设置参数查询URL 路径参数表单请求设置请求头设置 判断响应状态码解析数据SetSuccessResultgjson响…

轻量级模块化前端框架:快速构建强大的Web界面

轻量级模块化前端框架&#xff1a;快速构建强大的Web界面 在当今快节奏的Web开发环境中&#xff0c;选择一个高效且灵活的前端框架至关重要。UIkit 是一个轻量级的模块化前端框架&#xff0c;旨在帮助开发者快速构建功能强大且响应迅速的Web界面。 UIkit提供了丰富的组件和工…

qt+opengl 播放yuv视频

一、实现效果 二、pro文件 Qt widgets opengl 三、主要代码 #include "glwidget.h"GLWidget::GLWidget(QWidget *parent) : QOpenGLWidget(parent) {connect(&m_timer, &QTimer::timeout, this,[&](){this->update();});m_timer.start(1000/33); }v…