带你刷(牛客网)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的值,编程计算并输出一元二次方程 + bx + c = 0的根,当a = 0时,输出“Not quadratic equation”,当a ≠ 0时,根据△ = - 4*a*c的三种情况计算并输出方程的根。
输入描述:
多组输入,一行,包含三个浮点数a, b, c,以一个空格分隔,表示一元二次方程 + 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;}
结束语
今天的分享就到这里啦!
快快通过下方链接注册加入刷题大军吧!各种大厂面试真题在等你哦!
💬刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习