5.3循环应用

#include <stdio.h>int main()
{int n;int i;double ret=0.0;scanf("%d", &n);for ( i=1; i<=n; i++ ) {ret += 1.0/i;}printf("%f\n", ret);return 0;
}

#include <stdio.h>int main()
{int n;int i;double ret=0.0;int sign = 1;scanf("%d", &n);for ( i=1; i<=n; i++ ) {ret += 1.0*sign/i;sign = -sign;}printf("%f\n", ret);return 0;
}

正序分解整数
• 输入一个非负整数,正序输出它的每⼀一位数字
• 输入:13425
• 输出:1 3 4 2 5

分解整数输出

 还没解决结尾的空格问题!

 • 但是是逆序的!

 • 如果能有这么一个mask

 • 计算x的位数

 • pow?
• #include <math.h>
• pow是浮点运算,慢

 • 直接算mask
• mask=100000?
• 因为第一轮mask就是10了
• 怎么办?

 • 改变循环的条件,让它少做一轮

• 改变循环的条件,让它少做一轮
• 但是最后的结果为什么不对?

 • 因为x在第一个循环中被改变了
• 需要⽤用另外的变量代替x做计算

#include <stdio.h>int main()
{int x;scanf("%d", &x);int mask = 1;int t = x;while ( t>9 ) {t /= 10;mask *=10;} printf("x=%d, mask=%d\n", x, mask);do {int d = x / mask;printf("%d", d);if ( mask > 9 ) {printf(" ");}x %= mask;mask /= 10;} while ( mask > 0 );printf("\n");return 0;
}

求最大公约数

• 输入两个数a和b,输出它们的最大公约数
• 输入:12 18
• 输出:6

枚举

1. 设t为2;
2. 如果u和v都能被t整除,则记下这个t
3. t加1后重复第2步,直到t等于u或v;
4. 那么,曾经记下的最大的可以同时整除u和v的t就是gcd

辗转相除法

1. 如果b等于0,计算结束,a就是最大公约数;
2. 否则,计算a除以b的余数,让a等于b,而b等于那个余数;
3. 回到第一步。

#include <stdio.h>int main()
{int a,b;int min;scanf("%d %d", &a, &b);if ( a<b ) {min = a;} else {min = b;}int ret = 0;int i;for ( i = 1; i < min; i++ ) {if ( a%i == 0 ) {if ( b%i == 0 ) {ret = i;}}}printf("%d和%d的最大公约数是%d.\n", a, b, ret);return 0;
}
//辗转相除法
#include <stdio.h>int main()
{int a,b;int t;scanf("%d %d", &a, &b);int origa = a;int origb = b;while ( b != 0 ) {t = a%b;a = b;b = t;}printf("%d和%d的最大公约数是%d.\n", origa, origb, a);return 0;
}

C语言程序设计CAP——C语言学习笔记(五) 下相关推荐

  1. C语言程序设计CAP——C语言学习笔记(七) 上

    7.1-1 初试数组 •  如何写一个程序计算用户输入的数字的平均数? int x; double sum = 0; int cnt = 0; scanf("%d", &x ...

  2. C++语言程序设计上机指导(二级),C++语言程序设计上机实验及学习指导(第2版)...

    该书是作者编写的另一本理论教材<C++程序设计教程第3版>(机械工业出版社)的配套教材.既可用作大学各专业学习C++语言的初学者的实践教材,又可用作全国或江苏计算机等级考试二级C++语言的 ...

  3. 用C语言编写从A到Z随机步法,实用C语言程序设计教程1C语言学习基础ppt71.ppt

    实用C语言程序设计教程1C语言学习基础ppt71 C语言程序设计 - 第1章 C语言学习基础 第1章 开篇 --C语言学习基础 --目标既不是精确的,也不是预先设定的,目标应是一般性的.生成性的,从而 ...

  4. c语言小饭店等位就餐程序,C语言程序设计 C语言程序设计 3.C语言程序设计教案全部.doc...

    C语言程序设计教案 PAGE PAGE 2 C语言程序设计教案 C语言程序设计教案 编写:宋铁桥 计算机技术系 二〇一七年三月整理 河北工业职业技术学院 <C语言程序设计>课程教案首页 授 ...

  5. 现代C语言程序设计之C语言概述

    现代C语言程序设计之C语言概述 现代C语言程序设计 1.1 信息技术发展趋势 目前信息技术主要经历了互联网.移动互联网以及以大数据.云计算.物联网.人工智能.区块链为代表的新兴技术三个阶段. 互联网 ...

  6. 《C语言程序设计》(谭浩强第五版) 第2章 算法——程序的灵魂

    <C语言程序设计>(谭浩强第五版) 第2章 算法--程序的灵魂 习题解析与答案 你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解 ...

  7. c 语言程序设计文献,C语言程序设计毕业论文.doc

    C语言程序设计毕业论文 学生工作页 学习领域C语言程序设计学习项目项目一:输出QQ好友的信息时间任务任务一:通过案例熟悉C语言编程的基础知识,完成实训任务任务要求通过案例,熟悉C语言中的数据类型,熟练 ...

  8. 学籍管理c语言程序设计报告,C语言程序设计课程设报告—学籍管理系统.doc

    C语言程序设计课程设报告-学籍管理系统 电子科技大学 C语言课程设计报告 题 目 : 学籍管理系统 院系: 电 子 工 程 学 院 姓名: 石 胡 森 学号: 2013020904005 指导教师:胡 ...

  9. dsp c语言程序设计,DSP C语言程序设计.pdf

    第13章 DSP程序设计 主要内容: (1)DSP C语言程序设计 (2)C语言与汇编语言混合编程 (3)DSP程序烧写 13.1 DSP C语言程序设计 DSP支持使用ANCI C进行程序设计,并提 ...

最新文章

  1. 遇事不责怪别人,换位思考能成全更好的自己
  2. java treeset 重复,关于 TreeSet 为什么我这样写,还有是有重复的记录啊啊啊啊
  3. 每日一皮:这也许是稍微二字最好的诠释...
  4. 如何使用ABBYY FineReader 12将JPEG文件转换成Word文档
  5. Ajax — 大事件项目(第一天)
  6. P3261-[JLOI2015]城池攻占【左偏树】
  7. Linux创建目录【命令】
  8. C++之unique_ptr
  9. 77-CCI,Commodity Channel Index,商品通道指标.(2015.7.1)
  10. linux各种常用源码网站
  11. 联想笔记本linux驱动,联想为Linux驱动的计算机提供自动固件更新
  12. 初识Exchange2010
  13. Maven下载安装及修改setting内容
  14. 共有76款 WIKI系统开源软件
  15. 30年的Hello world
  16. ubuntu 外接显示器设置 鼠标指针闪烁 屏幕缩放 相对位置设置 分辨率设置 -xrandr
  17. 笔记本玩游戏画面间歇卡顿的终极解决方案 ThrottleStop使用教程
  18. 对于产业互联网的认识,直接关系着我们究竟会以怎样的心态来看待它
  19. 有人不理解,有人不屑,到底什么是UXD
  20. 2019年 CCPC-Wannafly Winter Camp 总结及感悟

热门文章

  1. 网店美工配套课程设计
  2. 【无标题】2022劳务员-通用基础(劳务员)复训题库及在线模拟考试
  3. 分享149个ASP源码,总有一款适合您
  4. Linux常用截图软件
  5. python excel 数据分析统计服_数据分析从入门到进阶(透彻讲解EXCEL.SQL.TABLEAU、PYTHON四项数据分析必会工具.免费提供1GB数据集...
  6. 微服务,链路追踪,opentracing+jaeger(六)
  7. 最让程序员抓狂的11件事,重点在评论区(请文明盗图)
  8. delphi xe3 mysql,Mysql ZeosLib Delphi XE3
  9. 计算机图形学(三) -- 3D 变换
  10. Android studio按键点击操作