码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 清览题库--C语言程序设计第五版编程题解析(3)


    前言

    🍀作者简介:在校学生,为全栈方向努力拼搏的一名小学生。

    🍁个人主页:吉师职业混子博客

    🫒题目来源:C程序设计(第五版)

    🍂相应专栏:清览题库--C语言程序设计第五版编程题解析

    因为python和C同时学,现在混得差不多了(悲


    题目一:求最大公约数和最小公倍数

    求两数的最大公约数和最小公倍数

    输入两个正整数m和n,求其最大公约数和最小公倍数

    输入示例:

    3 6

    输出示例:

    最大公约数:3 最小公倍数:6

     思路:

    首先要明确我们需要的数字是什么,就是二者共有的因数。

    既然要求最大公约数,自然要用到循环

    因为在本题中我们要通过循环来不断试错,最终找寻到最大公约数,也就是除数,所以设该除数的变量名为c,那么这个c就一定要不为0,因此for循环中第一个表达式就应该是

    for (c=1;;)

    针对于for循环中第二个表达式,我个人不喜欢在for中的表达式规定,所以在for循环的内部语句中再细说。

    关于第三个表达式,我们要求的是最大的公约数,所以与其从0开始向上不断叠加相乘,不如把该除数的初始值设为一个极大的数字,从而由上至下向下减,虽然这样设置会大大增加对内存的占用(相对来说),但这只是一个简单的小作业,只要老师不故意找茬,就无伤大雅。

    所以经过一系列思路分析,最终的for语句应该是

    for (c=1000000000000;;c--)

    那么接下来,针对for循环的内部语句进行分析

    我第一次去思考这里的代码时,想的是只有当除到最后的两个数互质才可以结束循环,结果就是我花费了一点时间去思考如何判断两个数互质,实际上压根一点用没有。这对于初学者来说应该是个坑吧(悲)

    完整代码

    1. #include
    2. int main()
    3. {
    4. int i,s,m,n;
    5. scanf("%d %d",&i,&s);
    6. m=10;
    7. for (;;m--)
    8. {
    9. if (i%m==0&&s%m==0){
    10. n = i/m*s;
    11. break;
    12. }
    13. }
    14. printf("最大公约数:%d\n",m);
    15. printf("最小公倍数:%d\n",n);
    16. return 0;
    17. }

    题目二

    输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数字本身。例如,153是一个水仙花数,因为

    输入示例:

    无

    输出示例:

    153 370 371 407

     思路解析

    没啥好解析的,注意范围是三位数,分别用除数和余数来分离出三个位数上的数字、幂的形式和引用的文件就可以了。

    这是源代码

    1. #include
    2. #include
    3. int main()
    4. {
    5. int a,b,s,g;
    6. for (a = 100;a >= 100;a++)
    7. {
    8. s = a%100/10;
    9. b = a/100;
    10. g = a%100%10;
    11. if (pow(s,3)+pow(b,3)+pow(g,3) == a)
    12. {
    13. printf("%d\n",a);
    14. }
    15. else if (a==999)
    16. break;
    17. else
    18. continue;
    19. }
    20. return 0;
    21. }

     烦了,毁灭吧

  • 相关阅读:
    盈利难期,股价狂跌,金融壹账通难撑未来
    一个破单机,也要用远程缓存?
    Linux之ansible(playbook)超详解
    FPGA学习笔记(3)——正点原子ZYNQ7000简介
    微信小程序request:fail报错(包括不执行fail回调问题)
    [车联网安全自学篇] 九. ATTACK安全之Android车机证书攻击(入侵)场景检测【一】
    正点原子嵌入式linux驱动开发——Linux LCD驱动
    冒泡排序法的名字由来,排序步骤是什么,最坏情况下的排序次数如何计算得来的呢?
    Spring核心思想和框架优势及原生的Servlet开发说明
    总结谋划明方向 凝心聚力开新局——和数软件对口援疆项目显成效
  • 原文地址:https://blog.csdn.net/m0_55400802/article/details/126933283
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号