C语言每日一练——day_4

news2025/3/12 19:01:34

引言

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

#include<stdio.h>
int main()
{
    int seconds, h, m, s;
    scanf ("%d",&seconds);

    h=seconds/3600;

    m=(seconds%3600)/60;

    s=(seconds%3600)%60;
    
    printf("%d %d %d",h,m,s);
}

解析:非常简单的一道找规律的题,注意格式的要求

2.总成绩和平均分计算

        点进去直接做题:

总成绩和平均分计算_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/0fa5132c156b434da4347ad051c4be22?tpId=107&&tqId=33305&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include<stdio.h>
int main() {
    //三科成绩
    double score[3] = {0};
    //输入
    scanf("%lf %lf %lf", &score[0], &score[1], &score[2]);
    //计算
    double sum = score[0] + score[1] + score[2] ;
    double avg = sum / 3.0;
    //输出
    printf("%.2lf %.2lf", sum, avg);
    return 0;
}

解析:非常简单的一道题,不会说明前几天的题,你没有好好做。

        这个题也可以用for循环边读边计算,自己可以尝试尝试,不懂的评论区里留言

3.KiKi和酸奶

        点进去直接做题:KiKi和酸奶_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/c7721f3a1b1a47a783974453e82cadbb?tpId=107&&tqId=33311&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

参考代码:

#include <stdio.h>
 int main()
 {
 int n = 0;
 int h = 0;
 int m = 0;
 while(scanf("%d %d %d", &n, &h, &m) != EOF)
    {
        if(m%h>0)
        printf("%d\n", n-m/h-1);
        else
        printf("%d\n", n-m/h);
    }

    return 0;
 }

解析:

1. 注意多组输入

2. 如果h分钟喝一瓶酸奶,那么m分钟喝汽水的瓶数就是h/m瓶,但是如果m%h有余数,就说明又打 开了一瓶,只是没来得及喝完,那么位打开的就少一瓶。

4.发布信息

        点进去直接做题

发布信息_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/20e59d0f388448c68f581b9d3ca66049?tpId=107&&tqId=33312&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include<stdio.h>
int main()
{
    puts("I lost my cellphone!");
    return 0;
}

解析:不会的话.......回家把孩子 (开个玩笑)。

5. 输出学生信息

        点进去直接做题:

输出学生信息_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/8e94458049eb4e838f711bbd1be0045e?tpId=107&&tqId=33313&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>

int main(){
     
    printf("Name    Age    Gender\n");//注意四个空格 和换行
    printf("---------------------\n");
    printf("Jack    18     man\n");//注意五个空格 对齐

    return 0;
}

 解析:和上面题一样,主要是锻炼大家的速度和细节(得多写)。

6.进制A+B

        点进去直接做题

进制A+B_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/6187581174ac48278ca3bccf8d534897?tpId=107&&tqId=33315&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include<stdio.h>
int main(void)
{
    int a,b,result;
    scanf("%x %o",&a,&b);//注意怎么输入十六进制和八进制
    result=a+b;
    printf("%d",result);
    return 0;
}

 解析:

        1. 首先要理解十进制、十六进制、八进制只是一种数据的表示形式,不是数据的存储形式。

        2. 不同格式的数据的输出在C语言中有不同的格式指定,比如:%x是十六进制格式,%o就是八进制格式。

        3. 不同进制的数据存放都整形变量中都是整形值,直接计算就行,计算交给计算机。

7.网购

        点进去直接做题:

网购_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/5d7dfd405e5f4e4fbfdff6862c46b751?tpId=107&&tqId=33318&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:


代码一:
#include<stdio.h>
 
int main(){
    //获取输入
    double price;
    int m,d,c; //month,day,coupon
    scanf("%lf%d%d%d",&price,&m,&d,&c);
     
    //计算价格并输出
    if(m == 11 && d == 11){ //双十一
        //打七折后再计算是否有优惠券
        price = (price * 0.7) - (50 * c);  // c为0则50*0=0,c为1则50*1=1
         
    } else if(m == 12 && d == 12){ //双十二
        //打八折后与上面同理
        price = (price * 0.8) - (50 * c);
    }
    //输出最后价格
    printf("%.2lf\n",(price > 0 ? price : 0.0));
       
    return 0;
}

代码二:
#include<stdio.h>
 
int main()
{
    double price = 0.0;
    int month = 0;
    int day = 0;
    int flag = 0;
 
    scanf("%lf %d %d %d", &price, &month, &day, &flag);
    if (month == 11 && day == 11)
    {
            price = price * 0.7 - 50.0*flag;
    }
    else if (month == 12 && day == 12)
    {
            price = price * 0.8 - 50*flag;
    }
    if (price < 0)
    {
        printf("0.00\n");
    }
    else
    {
        printf("%.2lf\n", price);
    }
 
    return 0;
}

解析:

        把题目意思搞懂,很简单的一道题,注意细节

8.争夺前五名

        直接点进去做题

争夺前五名_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/cd052308a1c44a88ad00255f312c3e14?tpId=107&&tqId=33320&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

//代码一:自己亲自实现排序
int main() {
    int n, temp;
    scanf("%d", &n);
    int m[n];
    for (int i = 0; i < n; i++) {
        scanf("%d ", &m[i]);
    }
    //冒泡排序
    for (int j = 0; j < n; j++) {
        for (int k = 0; k < n; k++) {
            if (m[j] > m[k]) {
                temp = m[j];
                m[j] = m[k];
                m[k] = temp;
            }
        }
    }
    printf("%d %d %d %d %d", m[0], m[1], m[2], m[3], m[4]);
    return 0;
}

//代码二:使用库函数qsoort

 #include <stdio.h>
 
 int cmp_int(const void* e1, const void*e2)//比较函数
 {
 	return *(int*)e1 - *(int*)e2;
 }
 
 int main()
 {
 	int n = 0;
 	int score[40] = {0};
 	scanf("%d", &n);
 	int i = 0;
 	for(i=0; i<n; i++)
    {
 		scanf("%d", &score[i]);
    }
 	//对所有数字排序
	int j = 0;

	//使用库函数排序
	qsort(score, n, 4, cmp_int);

	for(i=0; i<5; i++)
    {
 		printf("%d ", score[--n]);
    }
 return 0;
 }

解析:

        1. 要学会使用C语言库函数提供qsort函数。

void qort(void* arr[], int len, int n, int cmp);
//解释:要排列数组的起始地址,数组的长度,一个元素对应的字节,一个比较函数

        2. 或者自己实现一个简单的整形数组排序代码。

冒泡排序的动图:(看着代码想,在脑子里模拟一下)

9. 竞选社长

        点进去直接做题:

竞选社长_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/45a30e3ef51040ed8a7674984d6d1553?tpId=107&&tqId=33321&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include<stdio.h>
int main(void)
{
    char s;
    int coutA=0,coutB=0;
    while((s=getchar())!='0')//关键是要看输入符号结束的设定
    {
        if(s=='A')
            coutA++;
        else
            coutB++;
    }
    if(coutA>coutB)
        printf("A");
    else if(coutA<coutB)
        printf("B");
    else
        printf("E");
    return 0;
}

解析:

        本题的解法很多,但本质都是一样的就是代码写的不一样,可以扩展自己的思维多写写。

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

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

相关文章

下降路径最⼩和(medium)

题目描述&#xff1a; 给你一个 n x n 的 方形 整数数组 matrix &#xff0c;请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始&#xff0c;并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列&#xff08…

redux_旧版本

reduxjs/toolkit&#xff08;RTK&#xff09;是 Redux 官方团队推出的一个工具集&#xff0c;旨在简化 Redux 的使用和配置。它于 2019 年 10 月 正式发布&#xff0c;此文章记录一下redux的旧版本如何使用&#xff0c;以及引入等等。 文件目录如下&#xff1a; 步骤 安装依…

18、TCP连接三次握手的过程,为什么是三次,可以是两次或者更多吗【高频】

三次握手的过程&#xff1a; 第一次握手&#xff1a;客户端 向 服务器 发送一个 SYN&#xff08;也就是同步序列编号报文&#xff09;&#xff0c;请求建立连接。随后&#xff0c;客户端 进入 SYN_SENT 状态&#xff1b;服务器收到 SYN 之后&#xff0c;由 LISTEN 状态变为 SYN…

Ceph(2):Ceph简介

1 Ceph简介 Ceph使用C语言开发&#xff0c;遵循LGPL协议开源。Sage Weil(Ceph论文发表者)于2011年创立了以Inktank公司主导Ceph的开发和社区维护。2014年Redhat收购inktank公司&#xff0c;并发布Inktank Ceph企业版&#xff08;ICE&#xff09;软件&#xff0c;业务场景聚焦云…

wireshark 如何关闭混杂模式 wireshark操作

Fiddler和Wireshark都是进行抓包的工具&#xff1a;所谓抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作&#xff0c;也用来检查网络安全。抓包也经常被用来进行数据截取等。黑客常常会用抓包软件获取你非加密的上网数据&#xff0c;然后通过分析&#…

ChatGPT4.5详细介绍和API调用详细教程

OpenAI在2月27日发布GPT-4.5的研究预览版——这是迄今为止OpenAI最强大、最出色的聊天模型。GPT-4.5在扩大预训练和微调规模方面迈出了重要的一步。通过扩大无监督学习的规模&#xff0c;GPT-4.5提升了识别内容中的模式、建立内容关联和生成对于内容的见解的能力&#xff0c;但…

Unity DOTS从入门到精通之 自定义Authoring类

文章目录 前言安装 DOTS 包什么是Authoring1. 实体组件2. Authoring类 前言 DOTS&#xff08;面向数据的技术堆栈&#xff09;是一套由 Unity 提供支持的技术&#xff0c;用于提供高性能游戏开发解决方案&#xff0c;特别适合需要处理大量数据的游戏&#xff0c;例如大型开放世…

一键换肤的Qt-Advanced-Stylesheets

项目简介 能在软件运行时对 CSS 样式表主题&#xff08;包括 SVG 资源和 SVG 图标&#xff09;进行实时颜色切换的Qt项目。 项目预览&#xff1a; 项目地址 地址&#xff1a;Qt-Advanced-Stylesheets 本地编译环境 Win11 家庭中文版 Qt5.15.2 (MSVC2019) Qt Creator1…

golang 静态库 Undefined symbol: __mingw_vfprintf

正常用golang编译一个静态库给 其他语言 调用&#xff0c;编译时报错 Error: Undefined symbol: __mingw_vfprintf 很是奇怪&#xff0c;之前用用golang写静态库成功过&#xff0c;编译也没问题&#xff0c;结果却是截然不同。 试了很多次&#xff0c;发现唯一的差别就是在 …

Linux 网络:skb 数据管理

文章目录 1. 前言2. skb 数据管理2.1 初始化2.2 数据的插入2.2.1 在头部插入数据2.2.2 在尾部插入数据 2.2 数据的移除 3. 小结 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. skb 数据管理 数…

wireguard搭配udp2raw部署内网

前言 上一篇写了使用 wireguard 可以非常轻松的进行组网部署&#xff0c;但是如果服务器厂商屏蔽了 udp 端口&#xff0c;那就没法了 针对 udp 被服务器厂商屏蔽的情况&#xff0c;需要使用一款 udp2raw 或 socat 类似的工具&#xff0c;来将 udp 打包成 tcp 进行通信 这里以…

Qwen/QwQ-32B 基础模型上构建agent实现ppt自动生成

关心Qwen/QwQ-32B 性能测试结果可以参考下 https://zhuanlan.zhihu.com/p/28600079208https://zhuanlan.zhihu.com/p/28600079208 官方宣传上是该模型性能比肩满血版 DeepSeek-R1&#xff08;671B&#xff09;&#xff01; 我们实现一个 使用Qwen/QwQ-32B 自动生成 PowerPoi…

PostgreSQL17(最新版)安装部署

PostgreSQL 17已与2024年9月26日正式发布&#xff01;&#xff01;&#xff01; 一、Postgres概述 官网地址&#xff1a;PostgreSQL: The world’s most advanced open source database Postgres作为最先进的开源数据库&#xff08; the latest version of the world’s most…

【AI大模型智能应用】Deepseek生成测试用例

在软件开发过程中&#xff0c;测试用例的设计和编写是确保软件质量的关键。 然而&#xff0c;软件系统的复杂性不断增加&#xff0c;手动编写测试用例的工作量变得异常庞大&#xff0c;且容易出错。 DeepSeek基于人工智能和机器学习&#xff0c;它能够依据软件的需求和设计文…

【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台

【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台 文章目录 准备工作连接设备RTMP概念ENCSHV2推流地址设置大疆Pocket 3直播设置总结 老铁们好&#xff01; 很久没写软文了&#xff0c;今天给大家带了一个干货&#xff0c;如上图&#xff0c;大疆Pocket 3加ENC编…

机器人交互系统 部署构建

环境要求 Ubuntu 20.04 或更高版本ROS Noetic 或兼容版本Python 3.8 安装步骤 1. 安装ROS环境&#xff08;如未安装&#xff09; sudo apt update sudo apt install ros-noetic-desktop-full source /opt/ros/noetic/setup.bash2. 创建工作空间并克隆代码 mkdir -p ~/code…

创建模式-工厂方法模式(Factory Method Pattern)

江城子乙卯正月二十日夜记梦 目的动机简单工厂示例代码 目的 定义一个创建对象的接口&#xff0c;该接口的子类具体负责创建具体的对象。工厂方法模式将对象的实例化延迟到子类。简单工厂是直接在创建方法中负责所有的产品的生成&#xff0c;造成该方法臃肿&#xff0c;并且当…

【eNSP实战】交换机配置端口隔离

交换机端口隔离可以实现在同一个VLAN内对端口进行逻辑隔离&#xff0c;端口隔离分为L2层隔离和L3层隔离&#xff0c;这里只进行L2层隔离演示。 拓扑图 路由器AR1配置GE 0/0/1配置IP&#xff0c;其余PC主机各自配置IP和网关。 现将PC1到PC4四个主机全部进行L2层隔离&#xff0c…

人脸识别之数据集中 PI20 和 CFMT 之间关联的模型预测贝叶斯(Python+论文代码实现)

代码文件&#xff08;联系作者点击这里末尾&#xff09; 代码文件描述如下&#xff1a; subjective_objective.ipynb和&#xff1a;这分别是实际的笔记本和 Web 浏览器友好的只读版本。此笔记本读取数据&#xff0c;执行一些预处理&#xff0c;并包含论文中使用的模型规范。它…

静态时序分析:无法满足的生成时钟(TIM-255警告、UITE-461或PTE-075错误)

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 在阅读本文前&#xff0c;强烈建议首先阅读介绍生成时钟的文章&#xff0c;尤其是其中关于时钟极性和反相的相关内容。 静态时序分析&#xff1a;SDC约束命令cr…