📄 subject_30500.htm
字号:
<p>
序号:30500 发表者:缝隙 发表日期:2003-02-24 09:05:31
<br>主题:我有一个算法请大家研究
<br>内容:1从文件中得到8个十进制数(A(值固定每次都为0),B,C,D,E,F,G,H(值固定每次都为一)),将它们按照顺序逐个转化成二进制(A为3位二进制,B为4位,C为4位,D为4位,E为8位,F为2位,G为8位,H为1位,这些为数固定死的,不能改变,位数不够补‘0’)<BR>举个例子:假如从文件中读出的分别是A=0,B=10,C=12,D=8,E=128,F=1,G=128,H=1<BR>那么转化过来是:A=0,B=1010,C=1100,D=1000,E=10000000,F=0,G=10000000,H=1,<BR>但是显然A缺2位,F缺一位,也就是说A应该是“000”,F应该是=‘00’(也就是说要有个判断,判断F是否大于等于2)!结果应该是“0001010110010001000000000100000001”(转换过来最好是‘0’‘1’表示的字符串)!<BR>感叹:烦就烦在转换过来后还要判断位数,更气的是就A和F会这样!<BR>2.将转化后的数首尾连接,生成一个新的二进制数,<BR>要求只使用两个函数完成上述功能!<BR>这是我们的考试题目,哎!!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:bb 回复日期:2003-02-24 09:31:40
<br>内容:#include <stdio.h><BR>#include <stdlib.h><BR>#include <string.h><BR>void main()<BR>{<BR> char buf[20];<BR> char tmp[20];<BR> char result[100]="";<BR> int A=0,B=10,C=12,D=8,E=128,F=1,G=128,H=1;<BR> _itoa(A, buf, 2);<BR> sprintf(tmp,"%03s", buf);<BR> strcat(result,tmp);<BR> _itoa(B, buf, 2);<BR> sprintf(tmp,"%04s", buf);<BR> strcat(result,tmp);<BR> _itoa(C, buf, 2);<BR> sprintf(tmp,"%04s", buf);<BR> strcat(result,tmp);<BR> _itoa(D, buf, 2);<BR> sprintf(tmp,"%04s", buf);<BR> strcat(result,tmp);<BR> _itoa(E, buf, 2);<BR> sprintf(tmp,"%08s", buf);<BR> strcat(result,tmp);<BR> _itoa(F, buf, 2);<BR> sprintf(tmp,"%02s", buf);<BR> strcat(result,tmp);<BR> _itoa(G, buf, 2);<BR> sprintf(tmp,"%08s", buf);<BR> strcat(result,tmp);<BR> _itoa(H, buf, 2);<BR> sprintf(tmp,"%01s", buf);<BR> strcat(result,tmp);<BR> printf(result);<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:缝隙 回复日期:2003-02-24 11:37:34
<br>内容:再加一条:加读文件至main,路径C:\MyDocument\Data.TXT<BR>文件存放格式为:<BR>A=0 B=10 C=12 D=8 E=128 F=1 G=128 H=1<BR>这些只会变!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:bb 回复日期:2003-02-24 12:37:23
<br>内容:fscanf(fp, "A=%d B=%d C=%d D=%d E=%d F=%d G=%d H=%d",<BR> &A,&B,&C,&D,&E,&F,&G,&H);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -