- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
问题 A: 十进制整数转二进制 时间限制: 1 Sec??内存限制: 2 MB提交: 932??解决: 399[提交][状态][讨论版] 题目描述 给出一个十进制的非负整数x,x=216,把它转换成二进制数输出。 输入 输入为多行,每行一个整数x,至读入EOF结束。 输出 每行输出x对应的二进制数值。 样例输入 0 1 3 33 65535 样例输出 0 1 11 100001 1111111111111111 提示 本题有多种解法:可以用循环迭代对2的除法和取余操作,不过处理的顺序与输出顺序相反,需要利用数组存储;用取对数或从大到小减去2的整数次幂的方法计算与输出顺序是相同的;也可以用printf()把十进制的数值处理成十六进制,然后1位十六进制转4位二进制;也可以用位运算处理。 #includestdio.h int main() { long int a[65536],b,c,i,j; while (scanf(%ld,b)!=EOF) { if(b==0) printf(0\n); else { c=0; for(i=b;(i/2!=0)||(i==1);i=i/2) { a[c]=i%2; c=c+1; } for(j=c-1;j0;j--) printf(%ld,a[j]); printf(%ld\n,a[0]); } } } 问题 B: 求一元二次方程的根 时间限制: 1 Sec??内存限制: 2 MB提交: 1050??解决: 106[提交][状态][讨论版] 题目描述 一元二次方程的标准形式为ax2+bx+c=0(a≠0),其中a、b、c为常数。求解一元二次方程的根x时有三种情况,分别为(记Δ=b2-4ac):1. Δ0,有两个不等的实根;2. Δ=0,有两个相同的实根;3. Δ0,有两个共轭的虚根。 输入 输入为多行,每行为一元二次方程的三个常数a,b,c,在double类型范围之内。当输入的a为0时,表示输入结束。 输出 每行输入的样例对应三行输出。 第一行输出为样例的编号。第二行输出为所输入常数a,b,c对应的一元二次方程的标准形式,要求输出满足a0。第三行输出为所输入方程的根,分为三种情况:1. 若方程满足Δ0,即有两不等实根x1、x2,则按大小顺序输出这两个实根。2. 若方程满足Δ=0,即有两相同实根x,则输出一个实根。3. 若方程满足Δ0,即有两共轭的虚根x1、x2,则输出两个虚根,虚部符号为正的(即u+vi形式)先输出,虚部符号为负的(x-yi形式)后输出。 以上输出均不输出数学上无意义或可省略的的符号,所有数值最多保留6位有效数字。每个样例之后都有一个空行分隔。 样例输入 1 2 1 -1 2 -1 -5 2 -0.2 -3 2 0 3 0 12 2 4 4 0 样例输出 Case 1 : x^2 + 2x + 1 = 0 only one real root : -1 Case 2 : x^2 - 2x + 1 = 0 only one real root : 1 Case 3 : 5x^2 - 2x + 0.2 = 0 only one real root : 0.2 Case 4 : 3x^2 - 2x = 0 two real roots : 0, 0.666667 Case 5 : 3x^2 + 12 = 0 two imaginary roots : 2i, -2i Case 6 : 2x^2 + 4x + 4 = 0 two imaginary roots : -1+i, -1-i 提示 输出方程格式的各种情况要想清楚,这一部分测试数据给的很全面。另一个就是浮点数的精度控制,这一部分sample给出了例子。 值得注意的是,linux下gcc编译的浮点数运算结果有-0,这是OJ系统Judge端使用的系统;而windows XP下的minGW编译器和VC6不会产生-0,只会输出0;但windows 7下的minGW编译器是能够产生-0的(确实很诡异)。因此使用windows XP的同学忽略了对结果为0的检测,程序需要对结果为0的情况进行全面考虑,确保正确的输出0。这个问题卡了好些同学好几天。 关于是否会产生-0,输出表达式0.0/-1的结果就能测试出来。浮点数从负数方向运算出结果为0,则浮点值为-0是符合C语言浮点数运算规则的,目前尚不清楚windows XP系统不能产生-0的原因。 Append Code #includestdio.h #include math.h #includestring.h int main() { long double a,b,c,o; long int e=1; while(s
文档评论(0)