【C刷题训练营】第四讲(打好基础很重要)(上)

简介: 【C刷题训练营】第四讲(打好基础很重要)(上)

前言:

       大家好,这是c语言刷题训练营的第四讲,打好基础便于对c语言语法与算法思维的提高,感谢你的来访与支持!

💥🎈个人主页:Dream_Chaser~ 🎈💥

✨✨刷题专栏:http://t.csdn.cn/baIPx

⛳⛳本篇内容:c语言刷题训练营 第四讲(牛客网)

5d173a6f9c5b45e0ac826aab4c37b7bb.gif


BC23-时间转换


来源: 时间转换_牛客题霸_牛客网 (nowcoder.com)

描述

给定秒数 seconds ,把秒转化成小时、分钟和秒。

数据范围: 0 <seconds < 100000000

输入描述:

一行,包括一个整数,即给定的秒数。

输出描述:

一行,包含三个整数,依次为输入整数对应的小时数、分钟数和秒数(可能为零),中间用一个空格隔开。

示例1

输入:3661

输出:1  1  1


解题思路:

01a8f7fe0a4e4ae78f522d87fbe5c891.png

代码实现:

#include <stdio.h>
int main() {
    int seconds=0;
    scanf("%d",&seconds);
    int hour=0,min=0,sec=0;
    hour=seconds/3600;
    min=seconds%3600/60;
    sec=seconds%3600%60;
    printf("%d %d %d ",hour,min,sec);
    return 0;
}


执行:

d9aaae21464c4a2486361a803d21b3fb.png

中间的部分也可以写成这样:

7bc3728059d4464fa9e4772d2deb8e75.png


BC24-总成绩和平均分计算


来源:总成绩和平均分计算_牛客题霸_牛客网 (nowcoder.com)

题目描述

依次输入一个学生的3科成绩,在屏幕上输出该学生的总成绩以及平均成绩

输入描述:

一行,3科成绩,成绩之间用一个空格隔开。

输出描述:

一行,总成绩和平均成绩(小数点后保留两位),用一个空格隔开。

示例1

输入:79.5 80.0 98.0

输出:257.50 85.83


解题思路:

方法一

#include <stdio.h>
int main() {
    double a=0.0,b=0.0,c=0.0;//三科成绩
    double sum=0.0;//总成绩
    double avg=0.0;//平均分 
    scanf("%lf %lf %lf",&a,&b,&c);//输入三科
    sum=a+b+c;
    avg=sum/3;
    //输出三科
    printf("%.2lf %.2lf",sum,avg);
    return 0;
}


方法二:

int main() {
    double score[3] = {0.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;
}


方法三:

int main()
{
    double score= 0.0;
    double sum= 0.0;
    //输入并计算
    int i= 0;
    for( i=0;i<3;i++)
    {
        scanf("%lf",&score);
        sum += score;
    }
    printf("%.2lf %.2lf\n",sum,sum/3);
    return 0;
}


BC30-kiki和酸奶


来源:KiKi和酸奶_牛客题霸_牛客网 (nowcoder.com)

题目描述

       BoBo买了一箱酸奶,里面有n盒未打开的酸奶,KiKi喜欢喝酸奶,第一时间发现了酸奶。KiKi  h 分钟能喝光一盒酸奶,并且KiKi 在喝光一盒酸奶之前不会喝另一个,那么经过 m 分钟后还有多少盒未打开的酸奶?

输入描述:

多组输入,每组输入仅一行,包括nhm(均为整数)。输入数据保证m <= n * h

输出描述

针对每组输入,输出也仅一行,剩下的未打开的酸奶盒数。

示例1

输入:8 5 16

输出:  4


解题思路:

方法一:

  1. 每组输入记得写上while(scanf() ! = EOF)
  2. 剩下的未打开的酸奶盒数,实际的等于 已喝完的酸奶盒数(m / h) + 已打开的酸奶盒数(m % h)

图解:

e53bfdce6f704efab622efd54e38dff6.png

代码实现:

#include <stdio.h>
int main() {
    int n = 0;//给的酸奶数
    int h = 0;// 分/盒,喝一瓶酸奶的时间
    int m = 0;//总共给的时间
    //多组输入
    while (scanf("%d %d %d", &n, &h, &m) != EOF)
    {
        n = n - (m / h + m % h);//剩下未打开的酸奶盒数
    }
    printf("%d", n);
    return 0;
}


执行:

f6b80e985dfa40b899b617900362f854.png

方法二:

n = 0;//给的酸奶数

h = 0;// 分/盒,喝一瓶酸奶的时间
m = 0;//总共给的时间

以n为8 ,h为5,m为16,为例子

当 m % h  不为 0 时,表示在16分钟的时间内,16 % 5 商为3,余1 ,则说明3瓶全喝完了,还剩个1瓶已经打开了,还没喝完

以n为8 ,h为4,m为16,为例子

当 m % h  为 0 时,表示在16分钟的时间内,16 % 4 商为4 ,则说明4瓶全喝完了 ,也没有打开的但未喝完的酸奶。

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//为0,则说明在m分钟内全部喝完了
        {
            printf("%d\n", n - m / h);
        }
    }
    return 0;
}


执行:

f6b80e985dfa40b899b617900362f854.png


BC31-发布会信息


来源:发布信息_牛客题霸_牛客网 (nowcoder.com)

题目描述

你的手机丢了,在屏幕上输出信息告诉大家

输入描述:

输出描述:

I lost my cellphone!


解题思路:

直接把输出描述复制一下,粘贴到printf函数内打印即可

代码实现:

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


执行:

6ffdd64df86e40a2bbdc4662bd39ced4.png


BC32-输出学生信息


来源:输出学生信息_牛客题霸_牛客网 (nowcoder.com)

题目描述

学生信息管理系统是学校教学管理的重要工具,现有一名学生基本信息如下:姓名 -Jack ,年龄 -18 ,性别-Man ,请按照输出样例的格式输出该学生的信息。

输入描述:

输出描述:

输出分为三行,分别为标题行,分隔行,信息行。

第一行,标题行,每个标题之间间隔 4 个空格。

第二行,分隔行,一共 21 个减号 "-" 。

第三行,信息行,每列输出信息和标题首字母对齐。输出样例如下:

Name   Age   Gender

---------------------

Jack   18     man


解题思路:

258dfde0073a4735b58cfc410d10f6d6.png

代码实现:

#include <stdio.h>
int main() {
    printf("Name    Age    Gender\n");
    printf("---------------------\n");
    printf("Jack    18     man\n");
    return 0;
}


代码执行:

3799f8da7c0e4210acace5c3b7a57a3d.png

相关文章
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1014 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1709 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
652 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
618 12
|
10天前
|
人工智能 自然语言处理 API
Next AI Draw.io:当AI遇见Draw.io图表绘制
Next AI Draw.io 是一款融合AI与图表绘制的开源工具,基于Next.js实现,支持自然语言生成架构图、流程图等专业图表。集成多款主流大模型,提供智能绘图、图像识别优化、版本管理等功能,部署简单,安全可控,助力技术文档与系统设计高效创作。
689 151