C语言编程第六章作业答案

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

辗除法——辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。它首次出现于欧几里德的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。它并不需要把二数作质因子分解。

证明:设两数为a、b(a>b),求它们最大公约数(a、b)的步骤如下:用a除以b,余数为r 1。若r1=0,则(a,b)=b;若r1≠0,则再用b除以r1,得r2 .若r2=0,则(a,b)=r1,若r2≠0,则继续用r1除以r2,……如此下去,直到能整除为止。其最后一个非零余数即为(a,b)。

例如,123456 和 7890 的最大公因子是 6, 这可由下列步骤看出:

a b a mod b

123456 7890 5106

7890 5106 2784

5106 2784 2322

2784 2322 462

2322 462 12

462 12 6

12 6 0

#include

#include

main()

{

int a,b,num1,num2,temp;/*temp主要用来转换大小*/

printf("please input two numbers:\n");

scanf("%d,%d",num1,&num2);

if(num1

{

temp=num1;

num1=num2;

num2=temp;

}

a=num1;b=num2;/*a比b大*/

while(b!=0) /*只要b不等于0,就一直执行下面的循环体,直至整除完为止。*/

{

temp=a%b;

a=b;

b=temp;/*以上3句调整了a,b大小,使其整除为止*/

}

printf("公约数:%d\n",a);

printf("公倍数:%d\n",num1*num2/a); /*由公式知*/

getch();

}

评析:关键是判断两数的大小,先排好位置,再大除小,一直除尽即可。用了if判大小,while判除尽语句

2. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

#include

#include

main()

{

char c;

int letter=0,space=0,digit=0,others=0;

printf("please input some characters\n");

while((c=getchar())!='\n') /*终端接收一个字符赋给c,然后判断此赋值表达式的值是否不等于’\n’,如果不等于,就执行循环体*/

{

if(c>='a'&&c<='z'||c>='A'&&c<='Z') /*如果满足字符那么就在此条件范围内*/

letter++; /*字符累加*/

else if(c==' ')

space++; /*空格的累加*/

else if(c>='0'&&c<='9')

digit++;/*数字累加*/

else

others++;/*其他字符累加*/

}

printf("all in all:letter=%d,space=%d,digit=%d,others=%d",letter,space,digit,others);

getch();

评析:此程序最主要是用while,if复合语句

(利用while语句,条件为输入的字符不为'\n'.)

3. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

#include

#include

main()

{

int a,n,count=1;

long int sn=0,tn=0; /*长整型变量*/

printf("please input a and n\n",a,n); /*打印输出please input a and n */

scanf("%d,%d",&a,&n); /*定义输入的a和n都是整型*/

while(count<=n) /*while条件语句在count<=n 的情况下执行*/

{

tn=tn+a; /*一轮中初始值*/

sn=sn+tn; /*除最高位的数就是sn*/

a=a*10; /*每次以的最高位*10再带入上循环。*/

++count; /

c语言编程作业最大整数问题,C语言编程第六章作业答案.doc相关推荐

  1. 大学计算机基础试题第六章,大学计算机基础第六章作业答案

    第六章作业 一单选题(错一题,扣1分) http://www.doczj.com/doc/9acd8d2d4b73f242336c5fb3.htmlN和W AN是两种不同类型的计算机网络,后者可以(D ...

  2. c语言switch逻辑用语,C语言习题(前五章)参考答案.doc

    C语言习题(前五章)参考答案.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3. ...

  3. c语言作业题五六章答案,数据结构(C语言版)第五六章习题答案

    数据结构(C语言版)第五六章习题答案,人民邮电出版社,答案很详细. (15)设F是一个森林,B是由F变换得的二叉树.若F中有n个非终端结点,则B中右指针域为空的结点有( )个. A. n-1 B.n ...

  4. linux课后作业答案第六章,操作系统 第六章作业习题解答

    第六章作业习题解答 3.某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理盘空间,试问: (1)位示图需多少个字? (2)第i字第j位对应的块号是多少? (3)并给出申请/归还一块的工 ...

  5. linux课后作业答案第六章,第六章作业及答案

    <第六章作业及答案>由会员分享,可在线阅读,更多相关<第六章作业及答案(4页珍藏版)>请在人人文库网上搜索. 1.第六章作业一.选择题1.若不考虑结点的数据信息的组合情况,具有 ...

  6. 数据结构(C语言)第二版 第六章课后答案

    数据结构(C语言)第二版 第六章课后答案 1~5 C B B B C 6~10 B A B A A 11~15 D C C (D,D) B 1.选择题 (1)在一个图中,所有顶点的度数之和等于图的边数 ...

  7. c 语言比较三个整数大小,C 语言 —— 比较三个整数的大小并从大到小输出

    思路一:定义两个比较大小的函数,依次两两比较输出最大或最小的数字(较为繁琐,最易分析) /* C 语言比较三个整数的大小并从大到小输出 思路:定义两个比较大小的函数,依次两两比较输出最大或最小的数字 ...

  8. 大学c语言第三章作业,c语言程序设计一章部分和第三章习题答案.doc

    c语言程序设计一章部分和第三章习题答案 实 验 报 告 课程名称 C语言程序设计A 实验项目 编程环境认知与顺序程序设计 实验仪器 PC机一台 学 院_____信息管理学院_______ 专 业 信息 ...

  9. c语言程序设计的几种循环,C语言程序设计教案 第六章 循环程序设计.doc

    C语言程序设计教案 第六章 循环程序设计 第六章 循环程序设计 课题:第五章 选择结构程序设计教学目的:1.掌握三种循环语句的语法结构 2.灵活运用循环语句教学重点: 教学难点:三种循环语句while ...

最新文章

  1. android打不开,android加入权限应用打不开
  2. linux-权限操作,数字法
  3. 踩内存是什么意思啊_abs防抱死制动系统是什么意思?
  4. php mysql 降_php fork太多进程导致整体性能下降,mysql down掉的解决._PHP教程
  5. [cocos2dx]斗地主制作之洗牌算法
  6. Unity3D高级编程:主程手记
  7. [ CSOL ] - zihao + 自适应 + 文字滚动 + 媒体查询 + fullpage + 手风琴 + 延时动画
  8. sdn的用处_SDN原来如此简单?三分钟轻松掌握!
  9. 愚人节的幽默感,我只服阿里云......
  10. javaSwing ATM
  11. android 设置布局宽度,Android布局宽度为50%
  12. 机械转行前端,半年零基础自学的心路历程
  13. 配置 PyCharm for Linux 设置启动图标 pycharm-edu-2021.3.1 Ubuntu 18.04.6 LTS
  14. Images Aesthetic Predictors Based on Weighted CNNs 论文翻译解读
  15. Linux Ubuntu sudo apt-get update无法解析域名
  16. Hierarchical Attention Prototypical Networks for Few-Shot Text Classification
  17. 夜神模拟器 安卓7.0 burp抓包 https流量
  18. 工业4.0中的LiFi
  19. 在PocketPC上使用Opera Mini
  20. LeetCode最长回文串

热门文章

  1. pcs7 simatic batch v9.0_西门子V90 伺服STO安全功能注意事项
  2. C++ 手动实现简单的智能指针类
  3. C++共享内存类封装
  4. Windows监听进程是否退出C++
  5. C++ 判断某一个数是否为质数
  6. 2021年三月中旬推荐阅读文章
  7. c语言学生管理系统常见问题,关于C语言学生管理系统问题
  8. linux负载均衡技术的分类,LinuxLVS负载均衡群集
  9. 三类测量血压原理 - 智能手环测血压原理详解
  10. 完成计算机组装工艺卡组装准备,计算机组装与维护(刘猛)教程方案.doc