首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【手把手带你刷好题】--C语言基础编程题(十一)

【手把手带你刷好题】--C语言基础编程题(十一)

作者头像
草莓熊Lotso
发布2025-10-29 13:50:26
发布2025-10-29 13:50:26
1050
举报
文章被收录于专栏:C++/LinuxC++/Linux

🔥个人主页:@草莓熊Lotso 🎬作者简介:C++研发方向学习者 📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》 ⭐️人生格言:生活是默默的坚持,毅力是永久的享受。

前言:本篇博客是刷题集中的第十一篇,题目都是一些比较基础的IO型题目,适合C语言初学者。特别声明一下,这里提供的答案和思路都并非唯一,仅供参考。

1.小乐乐与进制转换

题目链接:小乐乐与进制转换_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>

void print_six(int n)
{
    if(n>5)
    {
        print_six(n/6); 
    }
    printf("%d",n%6);
}

int main() 
{
    int n=0;
    scanf("%d",&n);
    print_six(n);
    return 0;
}

题目解析:

  • 这题利用了递归的思想,当n>5时,一直/6,最后再回归,就能实现这个题了

2.小乐乐求和

题目链接:小乐乐求和_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    long n=0;
    scanf("%ld",&n);
    long sum=((1+n)*n)/2;
    printf("%ld",sum);
}

题目解析:

  • 这题相信大家应该都会吧,其实就是用等差数列的求和公式,很容易就解决了

3.小乐乐定闹钟

题目链接:小乐乐定闹钟_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int hour = 0;
    int minute = 0;
    int k = 0;
    scanf("%d:%d %d", &hour, &minute, &k);
    hour=((minute+k)/60+hour)%24;
    minute=(minute+k)%60;
    printf("%02d:%02d",hour,minute);
    return 0;
}

题目解析:

  • 这题大家通过代码应该可以看出来,我们先分别计算了小时和分钟。小时的话需要注意模24,分钟这里直接计算就行

4.小乐乐排电梯

题目链接:小乐乐排电梯_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int n=0;
    int s=0;
    scanf("%d",&n);
    s=(n/12)*4+2;
    printf("%d",s);
    return 0;
}

题目解析:

  • 本题思路很简单,根据题目可知上下一次总共需要4分钟,每12个人一趟,那么我们用n除以12就可以得出前面一共有多少趟,然后乘4,最后加一次上去的2分钟就可以了

5. 小乐乐与欧几里得

题目链接:小乐乐与欧几里得_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    long long n=0;
    long long m=0;
    scanf("%lld %lld",&n,&m);
    long long temp=0;
    long long a=n;
    long long b=m;
    while(temp=a%b)
    {
        a=b;
        b=temp;
    }
    printf("%lld",b+n*m/b);
}

题目解析:

  • 先用辗转相除法求出最大公约数,然后根据最小公倍数=两数乘积 除 最大公约数可以算出最小公倍数,这题就结束了

6.小乐乐改数字

题目链接:小乐乐改数字_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>
#include <math.h>

int main() {
    int n=0;
    int w=0;
    int ret=0;
    int i=0;
    scanf("%d",&n);
    while(n)
    {
        if((n%10)%2==0)
        {
            w=0;
        }
        else {
        w=1;
        }
        ret+=w*pow(10,i++);
        n/=10;
    }
    printf("%d\n",ret);
    return 0;
}

题目解析:

  • 对输入的数的每一位进行判断,根据题目要求修改成对应的值,用ret接受每一位的值,但是要注意记得乘以对应权重

7.小乐乐走台阶

题目链接:小乐乐走台阶_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>

int fib(int n)
{
    if(n<=2)
    {
        return n;
    }
    else {
    return fib(n-1)+fib(n-2);
    }
}
int main() 
{
    int n=0;
    scanf("%d",&n);
    printf("%d",fib(n));
}

题目解析:

  • 这题跟青蛙跳台阶是一样的,具体解题思路如下

8.小乐乐和序列

题目链接:小乐乐与序列__牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
int main() {
    int n = 0;
    int arr[100000] = {0};
    int i = 0;
    int tmp = 0;
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        scanf("%d", &tmp);
        arr[tmp] = tmp;

    }
    for (i = 0; i < n; i++) {
        if (arr[i] != 0)
            printf("%d ", arr[i]);

    }
    return 0;
}

题目解析:

  • 对应下标接受对应的数,这样重复的数依旧会放在那个位置上,这样最后直接输出不是0的元素就可以了

9.小乐乐与字符串

题目链接:小乐乐与字符串__牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
int main() {
       char str[8000] = {0};
       int count = 0;
       scanf("%s", str);
       char* p = str;
       long long c = 0;
       long long ch = 0;
       long long chn = 0;
       while (*p)
          {
               if (*p == 'C')
                       c++;
               else if (*p == 'H')
                       ch += c;
               else if (*p == 'N')
                       chn += ch;
               
               p++;
         
    }
       printf("%lld\n", chn);
       return 0;
}

题目解析:

  • 这个题中的子串可以是不连续的
  • ch的个数其实和前面出现的c的个数有关,chn的个数和n之前ch的个数有关。

10.小乐乐找最大数

题目链接:小乐乐找最大数_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int n=0;
    int max=0;
    for(int i=0;i<4;i++)
    {
        scanf("%d",&n);
        if(n>max)
        max=n;
    }
    printf("%d",max);
    return 0;
}

题目解析:

  • 这题还是求最大值,和之前的一些题一个道理,很简单,大家看看就行

11.小乐乐转换成绩

题目链接:小乐乐转换成绩_牛客笔试题_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int n = 0;
    scanf("%d", &n);
    if (n >= 90 && n <= 100)
        printf("%c", 'A');
    else if (n >= 80 && n <= 89)
        printf("%C", 'B');
    else if (n >= 70 && n <= 79)
        printf("%c", 'C');
    else if (n >= 60 && n <= 69)
        printf("%c", 'D');
    else if (n >= 0 && n <= 59)
        printf("%c", 'E');
    else
        printf("%c", 'F');
    return 0;
}

题目解析:

  • 这题根据范围判断等级就可以了,也是很简单的一个题

12.小乐乐计算函数

题目链接:小乐乐计算函数_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

代码语言:javascript
复制
#include <stdio.h>

int max3(int a,int b,int c)
{
    int k=a>b?a:b;
    int j=k>c?k:c;
    return j;
}
int main() {
    int a=0;
    int b=0;
    int c=0;
    scanf("%d %d %d",&a,&b,&c);
    double m=1.0*max3(a+b,b,c)/(max3(a,b+c,c)+max3(a,b,b+c));
    printf("%.2lf",m);
    return 0;
}

题目解析:

  • 先定义一个max3函数用来求最大值,那么后面就直接调用就行了,直接根据公式就可以求出答案了

往期回顾:

【手把手带你刷好题】--C语言基础编程题(七)

【手把手带你刷好题】--C语言基础编程题(八)

【手把手带你刷好题】--C语言基础编程题(九)

【手把手带你刷好题】--C语言基础编程题(十)

结语: 本篇文章就到此结束了,C语言刷题集专栏中的第十一篇的题目前面会难点,但有了之前的基础铺垫,这样的难度也是在合理范围内的,大家应该都可以解决,还是非常适合刚学完C语言的朋友们拿来练手,提升自己代码能力的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.小乐乐与进制转换
  • 2.小乐乐求和
  • 3.小乐乐定闹钟
  • 4.小乐乐排电梯
  • 5. 小乐乐与欧几里得
  • 6.小乐乐改数字
  • 7.小乐乐走台阶
  • 8.小乐乐和序列
  • 9.小乐乐与字符串
  • 10.小乐乐找最大数
  • 11.小乐乐转换成绩
  • 12.小乐乐计算函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档