> 文档中心 > 带你刷(牛客网)C语言百题(第十二天)

带你刷(牛客网)C语言百题(第十二天)


✅作者简介:大家好我是@每天都要敲代码,一位材料转码农的选手,希望一起努力,一起进步!
📃个人主页:@每天都要敲代码的个人主页
🔥系列专栏:牛客网刷题专栏 
💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习

​​

目录

习题一:HTTP状态码_牛客题霸_牛客网

习题二:计算单位阶跃函数_牛客题霸_牛客网

习题三:三角形判断_牛客题霸_牛客网

习题四:牛牛的计划_牛客题霸_牛客网

习题五:计算一元二次方程_牛客题霸_牛客网

习题六:获得月份天数_牛客题霸_牛客网

结束语


习题一:HTTP状态码_牛客题霸_牛客网

描述

KiKi访问网站,得到HTTP状态码,但他不知道什么含义,BoBo老师告诉他常见HTTP状态码:200(OK,请求已成功),202(Accepted,服务器已接受请求,但尚未处理。)400(Bad Request,请求参数有误),403(Forbidden,被禁止),404(Not Found,请求失败),500(Internal Server Error,服务器内部错误),502(Bad Gateway,错误网关)。

输入描述:

多组输入,一行,一个整数(100~600),表示HTTP状态码。

输出描述:

针对每组输入的HTTP状态,输出该状态码对应的含义,具体对应如下:
200-OK
202-Accepted
400-Bad Request
403-Forbidden
404-Not Found
500-Internal Server Error
502-Bad Gateway

示例1

输入:200

输出:OK

#include int main(){    int i = 0;    while(scanf("%d",&i) != EOF )    { if(i == 200)     printf("OK\n"); else if(i == 202)     printf("Accepted\n"); else if(i == 400)     printf("Bad Request\n"); else if(i == 403)     printf("Forbidden\n");  else if(i == 404)     printf("Not Found\n");  else if(i == 500)     printf("Internal Server Error\n");  else if(i == 502)     printf("Bad Gateway\n");      }   return 0;}

习题二:计算单位阶跃函数_牛客题霸_牛客网

描述

KiKi最近学习了信号与系统课程,这门课里有一个非常有趣的函数,单位阶跃函数,其中一种定义方式为:

 现在试求单位冲激函数在时域t上的值。

输入描述:

题目有多组输入数据,每一行输入一个t

输出描述:

输出函数的值并换行。

示例1

输入:11 0 -11

输出:1 0.5 0

#include int main(){    int t =0;    while(scanf("%d",&t) != EOF )   if(t > 0)printf("1\n");   else if(t  == 0)printf("0.5\n");   elseprintf("0\n"); return 0;}

习题三:三角形判断_牛客题霸_牛客网

描述

KiKi想知道已经给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。

输入描述:

题目有多组输入数据,每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。

输出描述:

针对每组输入数据,输出占一行,如果能构成三角形,等边三角形则输出“Equilateral triangle!”,等腰三角形则输出“Isosceles triangle!”,其余的三角形则输出“Ordinary triangle!”,反之输出“Not a triangle!”。

示例1

输入:

2 3 2

3 3 3

输出:

Isosceles triangle!

Equilateral triangle!

#include int main(){    int a,b,c;    while (scanf("%d %d %d",&a,&b,&c) != EOF)    if(a+b>c)    { if(a == b && b == c)     printf("Equilateral triangle!\n"); else if(a == b || a==c || b==c )     printf("Isosceles triangle!\n"); else     printf("Ordinary triangle!\n");    }    else printf("Not a triangle!\n");     return 0;}

习题四:牛牛的计划_牛客题霸_牛客网

描述

牛牛有一个学习计划,他计划在 y 年 m 月 d 日开始学习,但在之前他是绝不会开始学习的,但是他一旦开始学习就不会停下来,请你判断 y1 年 m1 月 d1 日牛牛应该学习吗。

输入描述:

第一行输入 y ,m ,d ,即牛牛计划开始学习的时间。

第二行输入 y1,m1,d1,即询问的时间。

输出描述:

请你判断牛牛是否开始学习。如果是则输出 yes ,否则输出 no

示例1

输入:

2022 2 11

2022 2 11

输出:yes

示例2

输入:

2022 2 11

2022 2 10

输出:no

示例3

输入:

2022 2 11

2022 2 12

输出:yes

#include int main(){    int y,m,d,y1,m1,d1;    scanf("%d %d %d\n%d %d %d",&y,&m,&d,&y1,&m1,&d1);    if(y1>y){ printf("yes\n");    }   else if(y1==y){ if(m1>m){      printf("yes\n"); }   else if(m1=m){     if(d1>=d) printf("yes\n");     else  printf("no\n"); }    }    else{ printf("no\n");    }    return 0;}

习题五:计算一元二次方程_牛客题霸_牛客网

描述

从键盘输入a, b, c的值,编程计算并输出一元二次方程ax^{2} + bx + c = 0的根,当a = 0时,输出“Not quadratic equation”,当a ≠ 0时,根据△ = b^{2}- 4*a*c的三种情况计算并输出方程的根。

输入描述:

多组输入,一行,包含三个浮点数a, b, c,以一个空格分隔,表示一元二次方程ax^{2}​ + bx + c = 0的系数。

输出描述:

针对每组输入,输出一行,输出一元二次方程ax2 + bx +c = 0的根的情况。

如果a = 0,输出“Not quadratic equation”;

如果a ≠  0,分三种情况:

△ = 0,则两个实根相等,输出形式为:x1=x2=...

△  > 0,则两个实根不等,输出形式为:x1=...;x2=...,其中x1  <=  x2。

△  < 0,则有两个虚根,则输出:x1=实部-虚部i;x2=实部+虚部i,即x1的虚部系数小于等于x2的虚部系数,实部为0时不可省略。实部= -b / (2*a),虚部= sqrt(-△ ) / (2*a)

所有实数部分要求精确到小数点后2位,数字、符号之间没有空格。

示例1

输入:2.0 7.0 1.0

输出:x1=-3.35;x2=-0.15

示例2

输入:0.0 3.0 3.0

输出:Not quadratic equation

示例3

输入:1 2 1

输出:x1=x2=-1.00

示例4

输入:2 2 5

输出:x1=-0.50-1.50i;x2=-0.50+1.50i

示例5

输入:1 0 1

输出:x1=0.00-1.00i;x2=0.00+1.00i

#include #include int main(){    float a,b,c,ret;    while(scanf("%f %f %f",&a,&b,&c) != EOF)    { ret=b*b-4*a*c; float x1=(-b+sqrt(ret))/(2*a); float x2=(-b-sqrt(ret))/(2*a); if(a==0){     printf("Not quadratic equation\n"); } else{     if(ret == 0){  printf("x1=x2=%.2f\n",0+x1);     } else if(ret > 0){     if(x1>x2){  printf("x1=%.2f;x2=%.2f\n",x2,x1);     }     else  printf("x1=%.2f;x2=%.2f\n",x1,x2);    } else if(ret < 0){    printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",0-b/(2*a),sqrt(-ret)/(2*a),0-b/(2*a),sqrt(-ret)/(2*a)); }     }    }    return 0;}

习题六:获得月份天数_牛客题霸_牛客网

描述

KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。

输入描述:

多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。

输出描述:

针对每组输入,输出为一行,一个整数,表示这一年这个月有多少天。

示例1

输入:2008 2

输出:29

#include int main(){    //1.输入年份和月份    int year = 0;    int month = 0;    while(scanf("%d%d",&year,&month) != EOF)    { //2.数据写到数组里 int days[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int day = days[month-1]; if(month == 2){     if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)){  day = day+1;     } }  printf("%d\n",day);    }    return 0;}

结束语

今天的分享就到这里啦!

快快通过下方链接注册加入刷题大军吧!各种大厂面试真题在等你哦!
💬刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习

​​