![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
赛思库里
的撒
展开
-
【填空题】二进制串转十进制整数
char* p = "1100";int n = 0;for(int i=0;i<strlen(p); i++){ n = n * 2 + (p[i] - '0');}printf("%d\n", n); return 0;注意点:p[i] 可以写为 *(p+i),'0' 可以写为 48,注意二进制的ASCII码制和十进制的关系我们设断点单步调试发现的规律如原创 2016-12-31 16:59:20 · 503 阅读 · 0 评论 -
【填空题】十进制数的因式分解
void f(int n){ for(int i=2; i<n/2; i++) { while(n%i==0) { printf("%d ", i); n = n / i; } } if(n>1) printf("%d\n", n);}注意点:在第五行的空下面为代码段,说明至少是循环或者条件语句很容易想到取余的方法:n%i==0,但是尝试带入if原创 2016-12-31 17:27:32 · 326 阅读 · 0 评论 -
【填空题】无计算器巧算2的平方根
double n = 2; double a = 0; double b = n; while(fabs(a-b)>1E-15) { a = (a+b)/2; b = n / a; } printf("%f\n", a);注意点:如果没有计算器,我们如何求2的平方根?可以先猜测一个数,比如1.5,然后用2除以这个数字。如果我们猜对了,则除法的结果必然与我们猜测的数字相同原创 2016-12-31 17:43:46 · 539 阅读 · 0 评论