• 牛客C基础题练习


    在这里插入图片描述

    乘风破浪会有时,直挂云帆济沧海。

    前言

    大家好啊!💖💖💖我是vince,大家在学习编程语言的过程中应该会发现,理论基础很重要,然后实际上机操作更加重要,而上机操作无非是写写项目代码,更多的当然是刷题啦~然后此时一个好的刷题网站真的非常重要,它会让你方向正确,学习思路清晰,因此,在这里 🌷给爱学习的小伙伴们推荐个学习、刷题的网站牛客网,其中面试题应有尽有,真的能够给你带来很好的学习体验
    👇👇👇
    爱学习的亲们!🎉🎉🎉请点击我开始注册!学习、刷题🎉🎉🎉
    以下是牛客题库界面:
    在这里插入图片描述

    接下来,我们进入正题,我们来看看相关的一些例题。

    正文

    题目一:牛牛的线段

    🌰描述 牛牛有一个线段放在二维坐标系中,已知线段两个点的坐标 (x1,y1),(x2,y2) 。牛牛想知道这个线段的长度的平方在这里插入图片描述

    🔥输入描述: 第一行输入 x1 和 y1,用空格隔开。 第二行输入 x2 和 y2,用空格隔开。 其中 x1 , y1 ,x2 ,y2 都是整数

    🔥输出描述: 输出线段的长度的平方 在这里插入图片描述

    代码如下:

    #include 
    #include 
    
    int main(void)
    {
        int x1 = 0, x2 = 0;
        int y1 = 0, y2 = 0;
        scanf("%d %d",&x1, &y1);
        scanf("%d %d",&x2, &y2);
        int ret = pow((x1-x2),2)+pow((y1-y2),2);
        printf("%d\n",ret);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    总结:

    注意这里需要仔细审题,题目要求的是求其平方就可以。

    题目二:及格分数

    🌰描述 KiKi想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“Fail”。

    🔥输入描述: 多组输入,每行输入包括一个整数表示的分数(0~100)。

    🔥输出描述: 针对每行输入,输出“Pass”或“Fail”。 在这里插入图片描述

    代码如下:

    #include 
    
    int main(void)
    {
        int n = 0;
        while(scanf("%d",&n)!=EOF)
        {
            if(n>=60)
            {
                printf("Pass\n");
            }
            else
            {
                printf("Fail\n");
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    总结:

    这里就开始C的分支结构了,慢慢的就走进C的主题啦!
    这道题存在多组输入,因此在敲代码时候注意了哈!

    题目三:判断整数奇偶性

    🌰描述 KiKi想知道一个整数的奇偶性,请帮他判断。从键盘任意输入一个整数(范围-231~231-1),编程判断它的奇偶性。

    🔥输入描述: 多组输入,每行输入包括一个整数。

    🔥输出描述: 针对每行输入,输出该数是奇数(Odd)还是偶数(Even)。 在这里插入图片描述

    代码如下:

    #include
    int main()
    {
        int n=0;
        while(~scanf("%d",&n))
        {
            if(n%2==0)
            {
                printf("Even\n");
            }
            else
            {
                printf("Odd\n");
            }
        }
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    题目四:判断元音还是辅音字母

    🌰描述 KiKi开始学习英文字母,BoBo老师告诉他,有五个字母A(a), E(e), I(i), O(o),U(u)称为元音,其他所有字母称为辅音,请帮他编写程序判断输入的字母是元音(Vowel)还是辅音(Consonant)。

    🔥输入描述: 多组输入,每行输入一个字母。

    🔥输出描述: 针对每组输入,输出为一行,如果输入字母是元音(包括大小写),输出“Vowel”,如果输入字母是非元音,输出“Consonant”。
    在这里插入图片描述

    代码如下:

    
    #include
    #include
    
    int main()
    {
        char letter = 0;
        while (scanf(" %c", &letter)!=EOF)//%c前面若加一个空格是为了消除回车
        {
            //getchar();//若没有前面的空格消除回车,就用getchar消除空格
            letter = toupper(letter);//这个函数作用是将小写字母转换为大写字母
            switch (letter)
            {
            case 'A':
            case 'E':
            case 'I':
            case 'O':
            case 'U':printf("Vowel\n"); break;
            default:printf("Consonant\n");
            }
        }
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    总结:

    这道题里面有两个陌生的知识点:
    1、首先出现利用getchar()函数来消除回车,这里给%c前面加一个空格也符合这道题目的格式要求,但是我们需要了解学习到getchar()函数消除回车的用法哈!
    2、这里出现了toupper()函数,这个函数的作用是:将小写字母转换为其对应的大写字母。

    题目五:牛牛的判断题

    🌰描述 牛牛从键盘输入整数 x 和左右边界 l 和 r 共三个整数。请你判断 x 是否在 l 和 r 之间 (即是否存在 l≤x≤r )

    🔥输入描述: 依次输入 x ,l ,r 三个整数。用空格隔开。

    🔥输出描述: 如果存在 l≤x≤r 则输出 true ,否则输出 false 在这里插入图片描述

    代码如下:

    #include 
    
    int main(void)
    {
        int x = 0, l = 0, r = 0;
        scanf("%d %d %d",&x,&l,&r);
        if(x >= l && x <= r)
            printf("true\n");
        else
            printf("false\n");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    题目六:判断闰年

    🌰描述 判断一个整数n是否是闰年

    🔥输入描述: 输入一个整数n (1≤n≤2018)

    🔥输出描述: 是闰年输出"yes" 否则输出"no" 在这里插入图片描述

    代码如下:

    #include
    
    int main(void)
    {
        int n = 0;
        scanf("%d",&n);
        if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)
            printf("yes\n");
        else
            printf("no\n");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    总结:

    这道题里面需要记住判断闰年的条件:(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)。

    题目七:判断字母

    🌰描述 从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。

    🔥输入描述: 输入包括一个字符。

    🔥输出描述: 输出该字符是字母(YES)或不是(NO)。 在这里插入图片描述

    代码如下:

    #include
    int main(void)
    {
    	char n = 0;
    	scanf("%c", &n);
    	if (n >= 'a' && n <= 'z' || n>='A' && n <= 'Z')
    	{
    		printf("YES\n");
    	}
    	else
    	{
    		printf("NO\n");
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    题目八:四季

    🌰描述 气象意义上,通常以3~5月为春季(spring),6~8月为夏季(summer),9~11月为秋季(autumn),12月~来年2月为冬季(winter)。请根据输入的年份以及月份,输出对应的季节。

    🔥输入描述: 输入的数据格式是固定的YYYYMM的形式,即:年份占4个数位,月份占2个数位。

    🔥输出描述: 输出月份对应的季节(用英文单词表示,全部用小写字母)。 在这里插入图片描述

    代码如下:

    #include 
    
    int main(void)
    {
        int m = 0;
        scanf("%d",&m);
        int n = m % 100;
        switch(n)
        {
            case 3:
            case 4:
            case 5:printf("spring\n");break;
            case 6:
            case 7:
            case 8:printf("summer\n");break;
            case 9:
            case 10:
            case 11:printf("autumn\n");break;
            default:printf("winter\n");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    题目九:健康评估

    🌰描述 BMI指数(即身体质量指数)是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。例如:一个人的身高为1.75米,体重为68千克,他的BMI=68/(1.752)=22.2(千克/米2)。当BMI指数为18.5~23.9时属正常,否则表示身体存在健康风险。编程判断人体健康情况。

    🔥输入描述: 一行,输入一个人的体重(千克)和身高(米),中间用一个空格分隔。

    🔥输出描述: 一行,输出身体Normal(正常)或Abnormal(不正常)。 在这里插入图片描述

    代码如下:

    #include
    int main(void)
    {
        double m = 0,n = 0;
        double BMI = 0;
        scanf("%lf %lf",&m,&n);
        BMI = m / (n*n);
        if(BMI >= 18.5 && BMI <= 23.9)
        {
            printf("Normal\n");
        }
        else
        {
            printf("Abnormal\n");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    题目十:小乐乐找最大数字

    🌰描述 小乐乐获得4个最大数,请帮他编程找到最大的数。

    🔥输入描述: 一行,4个整数,用空格分开。

    🔥输出描述: 一行,一个整数,为输入的4个整数中最大的整数。 在这里插入图片描述

    代码(1)如下:

    #include 
    
    int main(void)
    {
        int n = 0;
        int max = 0;
        while(scanf("%d",&n) != EOF)
        {
            if(max < n)
            {
                max = n;
            }
        }
        printf("%d\n",max);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    代码(2)如下:
    利用数组和三目运算符结合判断

    #include 
    
    int main(void)
    {
        int arr[4] = {0};
        for(int i = 0; i < 4; i++)
        {
            scanf("%d",&arr[i]);
        }
        int max = 0;
        for(int i = 0; i < 4; i++)
        {
            max = max < arr[i] ? arr[i] : max;
        }
        printf("%d\n",max);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    结语

    一个好的刷题学习环境真的非常重要,这对你的学习有极大的帮助,牛客就属于好的刷题学习环境之列,大家还没体验过的赶快去体验爱学习的亲们!🎉🎉🎉请点击我开始注册!学习、刷题🎉🎉🎉
    牛客复习题目练习,代码人一定得多敲代码,从基础题型向后一步一步走,从质变到达量变,加油!
    也希望大家能够从这些题目中寻找到一些灵感,如有不足之处或者有其他方法,请大家评论区打出来哈~ 互相学习,互相进步~
    再见啦!
    谢谢阅读!

  • 相关阅读:
    作为前端还在使用GIF动画吗?换一种更优雅的方案吧
    Endpoint Central的IT资产管理(ITAM)
    计算机视觉岗暑期实习应聘总结
    RHCSA的学习
    E. Tyler and Strings(组合计数 + 树状数组/线段树)(带重复元素的全排列)
    【数据结构】模拟实现LinkedList
    软件需求开发
    SpringSecurity整合JWT+Oauth2认证
    学习在C++中使用位运算符做“int”和“4个char”之间的转换
    基于Layabox引擎的魔塔微信小游戏设计与实现
  • 原文地址:https://blog.csdn.net/m0_56817529/article/details/125928846