【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

相关文章
|
7月前
|
存储 双11 C语言
【C刷题训练营】第四讲(打好基础很重要)(下)
【C刷题训练营】第四讲(打好基础很重要)(下)
|
7月前
|
存储 算法 数据安全/隐私保护
【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)
【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)
165 2
|
7月前
|
消息中间件 NoSQL Java
2023年秋招,金九银十Java后端最全面试攻略,吃透25个技术栈
前言 我分享的这份春招,金三银四Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redis、Spring MVC、MyBatis、MySQL数据库、消息中间件MQ、Dubbo、Linux、ZooKeeper、 分布式&数据结构与算法等25个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!
|
7月前
|
人工智能 搜索推荐 开发者
|
8月前
|
SQL 分布式计算 NoSQL
第14章 大数据管理——复习笔记
第14章 大数据管理——复习笔记
|
10月前
|
C语言 C++
基础刷题篇(入门)
我从简单到难,一起走上漫漫刷题路! 我会持续在我的博客中更新我每天刷题的内容! 相互交流!
|
SQL 网络协议 算法
Java后端研发实习生面试知识点总结(持续更新中)
Java后端研发实习生面试知识点总结(持续更新中)
302 0
Java后端研发实习生面试知识点总结(持续更新中)
|
存储 搜索推荐 Oracle
|
安全 大数据 区块链
|
数据安全/隐私保护