【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

相关文章
|
存储 双11 C语言
【C刷题训练营】第四讲(打好基础很重要)(下)
【C刷题训练营】第四讲(打好基础很重要)(下)
|
3月前
|
算法 数据挖掘 开发者
探索编程之美:从小白到大牛的代码之旅从零到一:我的Python编程之旅
【8月更文挑战第30天】在数字世界的编织中,代码是构成一切的基石。本文将带领读者踏上一段代码探索之旅,从最初的迷茫与困惑,到逐渐找到方向,再到深入理解编程的本质和美学。通过个人的技术感悟和成长历程,我们将一同见证如何通过持续学习、实践和创新,在编程的道路上越走越远。
|
6月前
|
前端开发 程序员 开发工具
2024年最全0基础程序员如何快速进阶成为编程老司机?_码农速成(2),字节跳动面试攻略
2024年最全0基础程序员如何快速进阶成为编程老司机?_码农速成(2),字节跳动面试攻略
2024年最全0基础程序员如何快速进阶成为编程老司机?_码农速成(2),字节跳动面试攻略
|
6月前
|
存储 算法 搜索推荐
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点(二)
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点
155 2
|
6月前
|
存储 算法 C++
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点(一)
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点
249 2
|
6月前
|
算法 搜索推荐
太厉害了!腾讯T4大牛把《数据结构与算法》讲透了,带源码笔记
经历过校招的人都知道,算法和数据结构都是不可避免的。 在笔试的时候,最主要的就是靠算法题。像拼多多、头条这种大公司,上来就来几道算法题,如果你没AC出来,面试机会都没有。
|
SQL 分布式计算 NoSQL
第14章 大数据管理——复习笔记
第14章 大数据管理——复习笔记
|
存储 算法 Java
吐血整理Java编程基础入门技术教程,免费送
吐血整理Java编程基础入门技术教程,免费送
53 0
|
SQL 网络协议 算法
Java后端研发实习生面试知识点总结(持续更新中)
Java后端研发实习生面试知识点总结(持续更新中)
359 0
Java后端研发实习生面试知识点总结(持续更新中)
《阿里云技术面试红宝书》电子版下载
有了此书,你无需漫无目的地花大把时间在题海战术准备上,而是在精准回顾知识点的同时,间接地与技术大牛们做了直观的沟通,了解他们的出题思路与考察要点,用上举一反三的技能即可。
127 0
《阿里云技术面试红宝书》电子版下载