C语言每日一练——day_8

news2025/3/16 16:25:53

引言

        针对初学者,每日练习几个题,快速上手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/b0e489a749f448e2b37f26ef56a76e58?tpId=107&&tqId=33353&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

参考代码:

#include <stdio.h>
 
//计算平均值
float ave(float arr[])
{
    float sum = 0.0;
    int i = 0;
    while(i < 5)
    {
        sum += arr[i]; //身高相加
        i++;
    }  
    return sum/5.0;
}
 
int main()
{
    float arr[5] = {0};
    int i = 0;
    for(i = 0; i < 5; i++)
    {
        scanf("%f ", &arr[i]);  //输入身高
    }
    float aver = ave(arr);
    printf("%.2f", aver);
    return 0;
}

解析:不想多说什么,不会的就把前几天的题再做一下吧;

2.HTTP状态码

        点进去直接做题:HTTP状态码_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/99dba043761e43c2a6f931e2c5c247c7?tpId=107&&tqId=33355&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

 参考代码:

#include <stdio.h>
int main()
{
int a;
while(~scanf("%d",&a))
{
    getchar();
    switch(a)
    {
        case 200:printf("OK\n");
                break;
        case 202:printf("Accepted\n");
                break;
        case 400:printf("Bad Request\n");
                break;
        case 403:printf("Forbidden\n");
                break;
        case 404:printf("Not Found\n");
                break;
        case 500:printf("Internal Server Error\n");
                break;
        case 502:printf("Bad Gateway\n");
    }
}
return 0;
}

解析:1. 多组输入

           2. 状态码比较多,且为整数,所以可以考虑用switch语句。

3.数字三角形

        点进去直接做题:

数字三角形_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/804a22929b844e6b9379a5e90b5e2197?tpId=107&&tqId=33356&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>
 
int main()
{
    int n = 0;
    //多组输入
    while (~scanf("%d", &n))
    {
        //控制行数
        for (int i = 1; i <= n; i++)
        {
            //打印一行
            for (int j = 1; j <= i; j++)
            {
                printf("%d ", j);
            }
            printf("\n");
        }
    }
 
    return 0;
}

 解析:

        1. 多组输入

        2. 分析清楚每行打印的内容就行了

4.公务员面试

        点进去直接做题:
公务员面试_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/f3a134908d5b41869f14f58307008a97?tpId=107&&tqId=33357&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>
int main()
{
    int a, max = 0, small = 100, sum = 0, count = 0;
    while (scanf("%d", &a) != EOF)
    {
        if (a > max)//判定最高分
        {
            max = a;
        }
        if (a < small)//判定最低分
        {
            small = a;
        }
        sum += a;
        count++;//计数器
        if (count == 7)//计数器=7时代表一组的分数好了可以进行计算
        {
            printf("%.2f\n", (sum - max - small) / 5.0);
            count = 0;//重置
            max = 0;//重置
            small = 100;//重置
            sum = 0;//重置
        }
         
    }
 
    return 0;
}

 解析:

        学习这种判断最高分和最低分的技巧

5.有序序列插入一个数        

        点进去直接做题:有序序列插入一个数_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/74486aec6fe14d44b509efabf265ee66?tpId=107&&tqId=33358&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:


#include <stdio.h>
int main()
{
    int n = 0;
    int arr[50] = { 0 };
    int m = 0;//要插入的数据
    //输入数据
    scanf("%d", &n);
    int i = 0;
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    scanf("%d", &m);
    //处理
    for (i = n; i > 0; i--)
    {
        if (arr[i - 1] > m)
        {
            arr[i] = arr[i - 1];
        }
        else
        {
            arr[i] = m;
            break;
        }
    }
    //如果插入数字小于所有的数字
    if (i == 0)
    {
        arr[i] = m;
    }
    //打印
    for (i = 0; i < n + 1; i++)
    {
        printf("%d ", arr[i]);
    }
        return 0;
}

解析:

        1. 多组输入

        2. 从往前比较并一定数字找到合适的位置,就可以插入数字了,但是如果插入的数字比所有的元素都 小,那就插入到第一个位置上。 

6.筛选法求素数

        点进去直接做题:筛选法求素数_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a?tpId=107&&tqId=33359&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))
    {
    int arr[n+1];
    int i = 0;
    //初始化数组的内容为0-n
    for (i = 0; i<=n; i++)
    {
        arr[i] = i;
    }
     for (i = 2; i <= n; i++)
    {
    int j = 0;
    for (j = i + 1; j <= n; j++)
    {
        if (arr[j] % i == 0)
        arr[j] = 0;
    }
    }
    int count = 0;
    for (i = 2; i <= n; i++)
    {
        if (arr[i] != 0)
        printf("%d ", arr[i]);
         else
        count++;
    }
    printf("\n%d\n", count);
    }
    return 0;
 }

 //方法2:试除法
int is_prime(int n)
{
  int i = 0;
    for(i=2; i<n; i++)
    {
        if(n%i == 0)
        return 0;
    }
    return 1;
 }
 int main()
 {
    int n = 0;
 //题目相当于打印n以内的素数
    while(scanf("%d", &n) != EOF)
    {
        int i = 0;
        int count = 0;
        for(i=2; i<=n; i++) // for(i = 2; i < i / n; i++) 这样也可以而且优化了时间
        {
        if(is_prime(i)==1)
        {
            printf("%d ", i);
        }
        else
        {
            count++;
        }
        }
        printf("\n%d\n", count);
    }
    return 0;
}

解析:

        学习怎么判断一个数是不是素数

7.图像相似度

        点进去直接做题:图像相似度_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/f2952ee3bb5c48a9be6c261e29dd1092?tpId=107&&tqId=33360&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

参考代码:

#include <stdio.h>
 
int main()
{
    int m = 0; //表示行数
    int n = 0; //表示列数
    int arr1[100][100] = { 0 };
    int arr2[100][100] = { 0 };
    //输入
    scanf("%d %d", &m, &n);
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            scanf("%d ", &arr1[i][j]);
        }
    }
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            scanf("%d ", &arr2[i][j]);
        }
    }
    int cnt = 0; //表示相同的个数
    //比较
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (arr1[i][j] == arr2[i][j])
            {
                cnt++;
            }
        }
    }
    //输出
    printf("%.2f\n", 100.0 * cnt / (m * n));
 
    return 0;
}

解析:

        1. 输入二维数组

        2. 求两个二维素组的相同元素个数

        3. 求百分比要注意*100.0,小时点后保留2位

8.登录验证

        点进去直接做题:登录验证_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/799daf76369c4fb1a2e2d56f885225ae?tpId=107&&tqId=33361&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include<stdio.h>

int main()
{
    char name[20] = {0};
    char passage[20] = {0};
    while(scanf("%s %s", name, passage) != EOF)
    {
        if (strcmp(name, "admin") == 0 && strcmp(passage, "admin") == 0)
        {
            printf("Login Success!");
        }
        else
        {
            printf("Login Fail!");
        }
    }
    return 0;
}

解析:

        1. 多组输入

        2. 两个字符串比较大小不能使用 ==,得使用strcmp函数,比较的是两个字符串中对应字符的ASCII码 值。

        3.当strcmp函数返回值   等于0时,表示两个字符串相等。

9.包含数字9的数

        点进去直接做题:

包含数字9的数_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/0948f4f3344c452f843afd3585dd0f8d?tpId=107&&tqId=33366&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>
 
int main()
{
    int cnt = 0;
    for (int i = 1; i <= 2019; i++)
    {
        int m = i;
        while (m > 0)
        {
            if (m % 10 == 9)
            {
                cnt++;
                break;
            }
            else
            {
                m /= 10;
            }
        }
    }
    //输出
    printf("%d\n", cnt);
 
    return 0;
}

解析:

         要判断一个数字是否包含9就看一下这个数字的某一位是否为9即可,只要某一位为9就停下里来。        

10.奇偶统计             

        点进去直接做题:      奇偶统计_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/04de8eb0ecab426fa6be3ae99af17210?tpId=107&&tqId=33367&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

//代码1
 #include <stdio.h>
 int main()
 {
 int n = 0;
 scanf("%d", &n);
 int i = 0;
 int odd = 0;//奇数的个数
int even = 0;
 for(i=1; i<=n; i++)
    {
         if(i%2==1)
         odd++;
    }
     printf("%d %d\n", odd, n-odd);
     return 0;
 }
 //代码2
 #include <stdio.h>
 int main()
 {
     int n = 0;
     scanf("%d", &n);
     int i = 0;
     int odd = 0;//奇数的个数
    if(n%2==0)
     odd = n/2;//如果n是偶数,则奇数和偶数一样多
    else
     odd = n/2+1;//如果n是奇数,则奇数比偶数多1
     printf("%d %d\n", odd, n-odd);
     return 0;
 }

解析: 1. 代码1就是统计技术的个数,算出偶数的个数。

                 2. 代码2是根据数字的个数推算。

                                   

 

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

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

相关文章

Mac中nvm切换node版本失败,关闭终端再次打开还是之前的node

Mac中使用 nvm 管理 node 版本&#xff0c;在使用指令&#xff1a;nvm use XXX 切换版本之后。 关闭终端&#xff0c;再次打开&#xff0c;输入 node -v 还是得到之前的 node 版本。 原因&#xff1a; 在这里这个 default 中有个 node 的版本号&#xff0c;使用 nvm use 时&a…

更改 Windsuf 插件 Market

前言 之前一直用 VScode&#xff0c;现在全部迁移到 Windsuf 了&#xff0c;但是&#xff0c;Windsuf 默认的插件市场里没有我喜欢的主题……我又有点强迫症&#xff0c;所以&#xff0c;把Windsuf 默认的插件市场换成 VScode 的&#x1f611; 不废话 原本的&#xff1a; 改…

Vue 过滤器深度解析与应用实践

文章目录 1. 过滤器概述1.1 核心概念1.2 过滤器生命周期 2. 过滤器基础2.1 过滤器定义2.2 过滤器使用 3. 过滤器高级用法3.1 链式调用3.2 参数传递3.3 动态过滤器 4. 过滤器应用场景4.1 文本格式化4.2 数字处理4.3 数据过滤 5. 性能优化与调试5.1 性能优化策略5.2 调试技巧 6. …

​AI时代到来,对电商来说是效率跃升,还是温水煮青蛙

​凌晨三点的义乌商贸城&#xff0c;95后创业者小王&#xff0c;静静地盯着屏幕上的AI工具&#xff0c;竟露出了笑容。这个月他的跨境玩具店销量提升了不少&#xff0c;从之前的状态翻了3倍&#xff1b;而且团队人数有所变化&#xff0c;从5人缩减到了2人&#xff08;其中包括他…

Androidstudio实现一个app引导页(超详细)

文章目录 1. 功能需求2. 代码实现过程1. 创建布局文件2. 创建引导页的Adapter3. 实现引导页Activity4. 创建圆点指示器的Drawable5. 创建“立即体验”按钮的圆角背景 2.效果图 1. 功能需求 1、需要和原型图设计稿对应的元素保持一致的样式。 2、引导页需要隐藏导航栏&#xff…

[思考记录]关于AI辅助独立思考

本来是写两个反思类的记录&#xff0c;已经有了一些思路&#xff0c;并且都写了个开头。但手欠&#xff0c;去试着问了下AI&#xff0c;发现它的分析总结比我透彻。额......既然你这么厉害&#xff0c;那就你来&#xff0c;我向你学&#xff01; 那么&#xff0c;后续我再做类似…

CVPR-2025 | 长程视觉语言导航平台与数据集:迈向复杂环境中的智能机器人

作者&#xff1a;Xinshuai Song, Weixing Chen, Yang Liu, Weikai Chen, Guanbin Li, Liang Lin 单位&#xff1a;中山大学&#xff0c;Independent Researcher&#xff0c;鹏城实验室 项目主页&#xff1a;https://hcplab-sysu.github.io/LH-VLN 论文地址&#xff1a;https…

Apifox Helper 自动生成API接口文档

在我们开发过程中我们在编写请求地址和编写请求参数的时候特别花费时间耗费了我们很多时间&#xff0c;作为一个程序员&#xff0c;更应该把精力时间集中在开发上&#xff0c; Apifox Helper 是 Apifox 团队针对 IntelliJ IDEA 环境所推出的插件&#xff0c;可以在 IDEA 环境中…

历年云南大学计算机复试上机真题

历年云南大学计算机复试机试真题 在线评测&#xff1a;传送门&#xff1a;pgcode.cn 喝饮料 题目描述 商店里有 n 中饮料&#xff0c;第 i 种饮料有 mi 毫升&#xff0c;价格为 wi。 小明现在手里有 x 元&#xff0c;他想吃尽量多的饮料&#xff0c;于是向你寻求帮助&#x…

Postman中Authorization和Headers的区别

案例 笔者在进行token验证的时候碰到的问题 一般如果是进行token验证&#xff0c;大部分是在Headers下面添加token名称及token的值 这样&#xff1a;后端提取请求头的token即可 还有一种是&#xff0c;左侧选择Bearer Token&#xff0c;右侧添加token的值,后端传递的 大概…

python使用openai的api的时候声明不要走系统代理,默认是走的

配置了以上的方式&#xff0c;还是不行。因为项目默认使用的是国内的大模型服务商&#xff0c;但是接口是和openapi通用的&#xff0c;所以可以直接使用&#xff0c;但是项目中有的链接还是要走系统代理的&#xff0c;所以就需要将两者区分开&#xff0c;配置openapi不走系统代…

【免费】1949-2020年各省人均GDP数据

1949-2020年各省人均GDP数据 1、时间&#xff1a;1952-2020年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;各省人均GDP 4、范围&#xff1a;31省 5、指标解释&#xff1a;人均GDP&#xff08;Gross Domestic Product per capita&#xff09;是指一个国家…

《Python实战进阶》No24: PyAutoGUI 实现桌面自动化

No24: PyAutoGUI 实现桌面自动化 摘要 PyAutoGUI 是一个跨平台的桌面自动化工具&#xff0c;能够模拟鼠标点击、键盘输入、屏幕截图与图像识别&#xff0c;适用于重复性桌面任务&#xff08;如表单填写、游戏操作、批量文件处理&#xff09;。本集通过代码截图输出日志的实战形…

功耗电流和耗电量的获取

1. 实验室环境&#xff1a; 在受控的实验条件下&#xff0c;我们使用 PowerMonitor 精确控制变量&#xff08;如固定设备型号和系统版本、清理后台应用、设置恒定的亮度与音量、确保稳定的网络连接等&#xff09;&#xff0c;以获取高精度的电流测量数据&#xff0c;从而准确评…

医疗送药机器人“空间拓扑优化+动态算法决策+多级容错控制”三重链式编程技术解析与应用

一、引言 1.1 研究背景与意义 在医疗体系中,高效精准的药品配送是保障医疗服务质量和患者安全的关键环节。随着医疗技术的不断进步和医疗需求的日益增长,传统的人工送药方式逐渐暴露出诸多弊端,如配送效率低下、易受人为因素干扰导致错误率上升、人力成本高昂等。特别是在…

[CISCN 2022 初赛]ezpop(没成功复现)

打开在线环境可以看到&#xff1a; 记得之前做过一个类似的就是有点像照着漏洞去复现。应该可以直接在网上找到链子去打。 www.zip查看路由是 Index/test&#xff0c;然后 post 传参 a&#xff1a; exp&#xff08;参考了别的大神的wp&#xff09;&#xff1a; <?php //…

QT编程之QGIS

一、QGIS介绍 Quantum GIS&#xff08;QGIS&#xff09;是开源地理信息系统桌面软件&#xff0c;使用GNU&#xff08;General Public License&#xff09;授权&#xff0c; 属于 Open Source eospatial Foundation&#xff08; OSGeo &#xff09;的官方计划。在 GNU 授权下&am…

嵌入式C语言中堆栈管理与数据存储的精髓

在嵌入式开发中,理解C语言的内存管理和数据存储机制是至关重要的。本文将从堆栈管理和数据存储两个方面,深入探讨C语言在嵌入式Linux开发中的应用。 一、堆栈管理 1.1 栈的初始化与作用 栈是C语言运行的基础,主要用于存储函数参数、局部变量、函数返回值和编译器生成的临时…

LSTM方法实践——基于LSTM的汽车销量时序建模与预测分析

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本实验基于汽车销量时序数据&#xff0c;使用LSTM网络&#xff08;长短期记忆网络&#xff09;构建时间序列预测模型。通过数据预处理、模型训练与评估等完整流程&#xff0c;验证LSTM在短期时序预测中的有效性。 目录 一、实验…

[Windows] 轻量级景好鼠标录制器 v2.1 单文件版,支持轨迹+鼠标键盘录制复刻

[Windows] 轻量级景好鼠标录制器 链接&#xff1a;https://pan.xunlei.com/s/VOLHz0rPyqdhV4bgyTYuW6W7A1?pwd98uj# 软件特性&#xff1a; 高效播放控制&#xff1a;动作间隔优化至100 ms&#xff0c;进度条可视化&#xff0c;支持随机循环/多次播放。 深度自定义&#xff1…