数据结构与算法(C语言) 第8章 习题答案.docx
-
资源ID:62276710
资源大小:14.28KB
全文页数:2页
- 资源格式: DOCX
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
数据结构与算法(C语言) 第8章 习题答案.docx
习题答案1.编程题(1)1 int prime(int v)2 int i;3 for (i = 2; i <= v-1; i+) 4 if(v%i != 0)5 continue;6 )7 else8 return 0; /如果不是质数,返回09 )10 )11 return 1;/如果为质数,返回112 )(2)计算最大公约数1 int gys(int x, int y)2 return y ? gys(y, x%y):x;3 计算最小公倍数4 int gbs (int x, int y) 5 return x/gys (x, y) *y; /gys ()函数见(1)小题6 (3)1 /计算一个数的幕次方2 static int power(int v, int n)/计算v的n次方的值/获得二进制数的最低位的数字0或1/去除二进制数的最低位/计算得出十进制数3 int i = 0, count = 1;4 for (i = 0; i < n; i + + ) 5 count = v*count;6 )7 return count;8 )9 /二进制数转换为八进制数10 void TwoToEight () 11 long long n,a;12 int sum =0, i = 0, m;13 int c, j = 0;1415 int aN;1617 printf ("输入一个二进制数:n);18 scant(H%lldn, &n);19 a = n;20 while (n != 0)21 m = n % 10;22 n /= 10;23 sum += m*power(2f i);24 +i;25 )26while (sum > 0)c = (sum % 8);a j = c;sum = sum / 8; j+;)for (j ; j >= 0; j ) /将数组倒序输出printf("d“, ai);)printf(”n”);)/二进制数转换为十六进制数void TwoToSixteen () long long n,a;int sum =0, i = 0z m;/arr数组保存十六进制的所有个位数字char arr = n0123456789ABCDEFn;char hex 16;int i = 0,j = 0,a = 0;printf ("输入一个二进制数:n);scanf(n%lldnA &n);a = n;while (n != 0)m = n % 10;/获得二进制数的最低位的数字。或1n /= 10;/去除二进制数的最低位sum += m*power (2, i) ;/计算得出二进制数+i; )while(sum) hexi+ = arrsum % 16; sum = sum / 16;)for (j=i-l;j>=0; -j ) /将数组倒序输出printf(”c”, hexj);)printf(Hnn);27282930313233343536373839404142434445464748495051525354555657585960616263646566