当前位置: 首页 > news >正文

#C语言——刷题攻略:牛客编程入门训练(九):攻克 分支控制(三)、循环控制(一),轻松拿捏!

🌟菜鸟主页:@晨非辰的主页

👀学习专栏:《C语言刷题合集》

💪学习阶段:C语言方向初学者

名言欣赏:"代码行数决定你的下限,算法思维决定你的上限。"


目录

1.  BC73 计算一元二次方程

2.  BC75 牛牛是否被叫家长

3.  BC77 简单计算器

4.  BC78 KiKi说祝福语

5.  BC79 小乐乐求和(高斯公式)

6.  BC80 奇偶统计

7.  BC81 KiKi求质数个数


1.  BC73 计算一元二次方程

链接:牛客网_BC73 计算一元二次方程_简单

int main()
{float a = 0.0f, b = 0.0f, c = 0.0f;while (scanf("%f %f %f", &a, &b, &c) != EOF){//求根公式变量float delta = b * b - 4 * a * c;//变量delta是数学中常用符号Δfloat x1 = 0.0f;x1 = (-b - sqrt(delta)) / (2 * a);float x2 = 0.0f;x2 = (-b + sqrt(delta)) / (2 * a);//第一种情况if (a == 0){printf("Not quadratic equation\n");}//a!=的情况        else{if (delta == 0){//特例-符号情况if ((-b - sqrt(delta)) == 0 || (-b + sqrt(delta)) == 0)//被除数为0{printf("x1=x2=0.00\n");//防止-b符号影响最后输出(不默认-0 输出 0)}else{printf("x1=x2=%.2f\n", x1);}}else if (delta > 0){printf("x1=%.2f;x2=%.2f\n", x1, x2);}else{//对于复数运算,另创变量-实、虚float real = (-b / (2 * a));float imag = (sqrt(-delta) / (2 * a));//x1 = (-b / (2 * a)) - (sqrt(-delta) / (2 * a));//x1 = (-b / (2 * a)) + (sqrt(-delta) / (2 * a));printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", real, imag, real, imag);}}}return 0;
}

思路——

--本题使用了sqrt函数,包含<math.h>头文件;其次要考虑符号问题:代码中写到编译器不默认-0输出0,就需要另加判断输出0;然后就是复数输出问题,也要写出特定的格式输出。


2.  BC75 牛牛是否被叫家长

链接:牛客网_BC75 牛牛是否被叫家长_入门

int main()
{int a, b, c;scanf("%d %d %d", &a, &b, &c);if(a + b + c < 180){printf("YES\n");}else{printf("NO\n");}return 0;
}

思路——

--本题结构简单,为基础的条件判断,输入输出模式。嘴遁~~


3.  BC77 简单计算器

链接:牛客网_BC77 简单计算器_简单

int main() 
{double a = 0.0, b = 0.0;char c =0;scanf("%lf%c%lf", &a, &c, &b);if(c == '+'){printf("%.4lf+%.4lf=%.4lf\n", a, b, a+b);}else if(c == '-'){printf("%.4lf-%.4lf=%.4lf\n", a, b,a-b);}else if(c == '*'){printf("%.4lf*%.4lf=%.4lf\n", a, b, a*b);} else if(c == '/'){if(b == 0.0){printf("Wrong!Division by zero!\n");}else {printf("%.4lf/%.4lf=%.4lf\n", a, b, a/b);}}else{printf("Invalid operation!\n");}return 0;
}

思路——

--本题只要根据要求描述进行条件的书写即可,注意浮点数类型用的是double,格式符为%lf


4.  BC78 KiKi说祝福语

链接:牛客网_BC78 KiKi说祝福语_简单

int main() 
{int a = 0;scanf("%d", &a);for(int i = a; i > 0; i--){printf("Happy new year!Good luck!\n");}return 0;
}

思路——

--本体为简单的IO模式,循环条件简单;嘴遁~~


5.  BC79 小乐乐求和(高斯公式)

链接:牛客网_BC79 小乐乐求和_简单

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

思路——

--本题思路简单,应用了高斯定理,简化了求和步骤,因为网站测试有的数值较大,这里用long类型。


6.  BC80 奇偶统计

链接:牛客网_BC80 奇偶统计_入门

int main() 
{int N = 0;scanf("%d", &N);int count_even = 0;//记录偶数个数int count_odd = 0;//记录奇数个数for(int i = 1; i < N+1; i++){if(i % 2 == 0){count_even++;}else {count_odd++;}}printf("%d %d\n", count_odd, count_even);return 0;
}

思路——

--本题只需要根据奇偶数判断规则进行书写;在创建变量进行统计个数。


7.  BC81 KiKi求质数个数

链接:牛客网_BC81 KiKi求质数个数_简单

int main()
{int count_Prime = 0;int i = 0;int x = 0;int flag = 0;//标识,为0表示i为质数for (i = 100; i <= 999; i++){//对于质数的性质,发现可以只考虑奇数部分--节省大量时间if (i % 2 == 0)//判断i为偶数,直接下一个数{continue;}flag = 0;//重置flag//奇数像9就不是质数,所以还要判断for (x = 3; x <= sqrt(i); x++)//像9、25这样的,只用检查到sqrt(i)就行{if (i % x == 0)//i是否可以被除了1、i的数整数{flag = 1;//不是质数break;//i能被整除,直接结束这次循环判断}}if (flag == 0){count_Prime++;//计数}}printf("%d\n", count_Prime);return 0;
}

思路——

--本题有两个巧妙地点,一是对于直属的判断只需要在奇数部分进行筛选;二是对于质数中不符合条件的进行判断用到了sqrt函数,就行例子9,只需要考虑到开方数


刷题系列回顾:

#C语言——刷题攻略:牛客编程入门训练(八):分支控制(二)

结语:本篇文章就到此结束了,本文主要是练习剩余分支控制的题目、小部分循环控制题目,后续的题目练习难度会慢慢上来,但总体来说不会太难,喜欢的朋友们,一起来学习吧!欢迎三连~ 


文章转载自:

http://JSw0LAHs.kmbgL.cn
http://HpFooLWG.kmbgL.cn
http://Eps6Z1xo.kmbgL.cn
http://M1yT5gP7.kmbgL.cn
http://nwDzor4P.kmbgL.cn
http://blkLNsji.kmbgL.cn
http://O2E11SMf.kmbgL.cn
http://NpK6ud94.kmbgL.cn
http://UZfOkkQI.kmbgL.cn
http://4sgZBJMv.kmbgL.cn
http://XvIu9lqm.kmbgL.cn
http://Fd98owoL.kmbgL.cn
http://QbQg6o6S.kmbgL.cn
http://ghRZT0Il.kmbgL.cn
http://wcZxEGKb.kmbgL.cn
http://Oz4Xmzva.kmbgL.cn
http://NeOIGscZ.kmbgL.cn
http://X19aUS36.kmbgL.cn
http://nJgRabjg.kmbgL.cn
http://z6lQsnb4.kmbgL.cn
http://gD9t0hC6.kmbgL.cn
http://dikvkDGA.kmbgL.cn
http://xzP3JwER.kmbgL.cn
http://S4mpc6kc.kmbgL.cn
http://LtCc1FYq.kmbgL.cn
http://8MzD0l10.kmbgL.cn
http://rLD0kKmN.kmbgL.cn
http://i5QoE37j.kmbgL.cn
http://22O3xkgy.kmbgL.cn
http://Z1mzjw4x.kmbgL.cn
http://www.dtcms.com/a/372837.html

相关文章:

  • Android 中 自定义 RecyclerView 控件限制显示高度
  • Codesy中的UDP发送信息
  • Hadoop进程:深入理解分布式计算引擎的核心机制
  • SQL Server死锁排查实战指南
  • 自学嵌入式第三十八天:数据库
  • 【开题答辩全过程】以 基于springboot的酒店管理系统设计与实现为例,包含答辩的问题和答案
  • SpringBoot控制层接收参数处理、Logback日志入门和使用
  • Python快速入门专业版(十三):Python变量进阶:全局变量与局部变量(含global关键字用法)
  • 深度学习(二):神经元与神经网络
  • 如何在不同 iOS 设备上测试和上架 uni-app 应用 实战全流程解析
  • iOS 开发全流程实战 基于 uni-app 的 iOS 应用开发、打包、测试与上架流程详解
  • [论文阅读] 人工智能 + 软件工程 | 大模型破局跨平台测试!LLMRR让iOS/安卓/鸿蒙脚本无缝迁移
  • 汇编基础1
  • CSS @scope与12个降低css冲突方法
  • pytorch 中是如何实现embeding 的
  • 【.Net技术栈梳理】02-核心框架与运行时(GC管理)
  • 洗完头后根据个人需求选择合适的自然风干 | 电吹风 (在保护发质的同时,也能兼顾到生活的便利和舒适。)
  • 人才教育导向下:老年生活照护实训室助力提升学生老年照护服务能力
  • Typescript入门-类型断言讲解
  • 使用Pycharm进行远程ssh(以Featurize为例)
  • 云原生:微服务与Serverless指南
  • 时序数据库选型指南:大数据与物联网时代下的深度剖析与 Apache IoTDB 实践
  • Python 实现 HTML 转 Word 和 PDF
  • 亚马逊长尾关键词怎么找?从传统运营到DeepBI的智能策略演进
  • 打造高效Jenkins CICD环境全解析
  • 学习笔记:MYSQL(4)
  • Vue的响应式底层原理:Proxy vs defineProperty
  • Jenkins运维之路(初识流水线)
  • 内窥镜冷光源
  • Linux设备内存不足如何处理