📄 subject_36455.htm
字号:
<p>
序号:36455 发表者:丑怪青蛙 发表日期:2003-04-15 17:42:44
<br>主题:[重新发一次]C 语言数组的题目,还没有解决
<br>内容:由于不知道什么原因<BR>//////////////////<BR>处理 URL 时服务器上出错。请和系统管理员联络。wyy_cq@copathway.com<BR>//////////////////////////<BR>所以将后续问题重发一次,还请版主原谅。<BR><BR><BR>***********************************************************<BR><BR>[2]将一个数组(共N个数)中的值逆序重新存放。<BR>如:将 1,2,6,3 变为 3,6,2,1<BR><BR>我最后是这样写的:<BR><BR>#define N 5<BR>#include <stdio.h><BR>main()<BR>{int a[N];<BR> int i,t;<BR> printf("\nPrepare to Enter:");<BR> for(i=0;i<=N;i++)<BR> {scanf("%c,",&a[i]);<BR><BR> }<BR> for(i=0;i<=N/2;i++)<BR> {t=a[i];<BR> a[i]=a[N-i-1];<BR> a[N-i-1]=t;<BR> }<BR> for(i=0;i<=N;i++)<BR> printf("%4d",a[i]);<BR>}<BR><BR>程序没有报错,我没有出现我想要的结果<BR>我输入:<BR>1,2,3,4,5,<BR>结果为:<BR>(注意,这里是有一空行。)<BR>3125 52 511330-207-246<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:丑怪青蛙 回复日期:2003-04-15 18:15:15
<br>内容:问题解决了一半<BR>问题出在最后输出一行<BR>printf("%4d",a[i]);<BR>应该为<BR>printf("%4c",a[i]);<BR><BR>但只对输入一位数字才能排序<BR>如果输出两位以上就乱了<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>
<font color=red>答案被接受</font><br>回复者:林建华 回复日期:2003-04-15 18:53:17
<br>内容:for(i=0;i<N;i++)<BR> {scanf("%c,",&a[i]);<BR><BR> }<BR> for(i=0;i<N/2;i++)<BR> {t=a[i];<BR> a[i]=a[N-i-1];<BR> a[N-i-1]=t;<BR> }<BR> for(i=0;i<N;i++)<BR> printf("%4d",a[i]);<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-04-15 20:57:00
<br>内容:非常感谢林大叔的帮忙,不过我试过%4d会输出乱七八糟的数字,就是我第一帖说的。原来输入的格式是一个字符%c,后来输出的是十进制整形数,不行的。<BR>ps:能不能用中文说啊?<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-04-15 21:14:00
<br>内容:时间在题词证明用%4d不行,郁闷啊……<BR>用%c还凑合着。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ZhouJX 回复日期:2003-04-16 08:35:26
<br>内容:会不会是因为你输入的是%c格式,所以输出用%d就有问题了?<BR><BR>很久很久没用scanf与printf了,记不清%c,%d表示什么格式了。^_^<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-04-16 12:58:35
<br>内容:scanf("%d,",&a[i]);就好了<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>
回复者:丑怪青蛙 回复日期:2003-04-16 20:28:49
<br>内容:如果输入和输出都是%d,我试过,根本就不会返回,除非Ctrl+C<BR>我也想过用d是最好的,应该没有个数限制,就当是数值处理,可惜不行纳<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>
回复者:jack 回复日期:2003-04-16 20:53:46
<br>内容:你在scanf("%d,",&a[i]);后面设断点,看看整形数组有没被正确赋值。
<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-04-17 13:10:54
<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>
回复者:丑怪青蛙 回复日期:2003-04-17 18:01:34
<br>内容:最终发现两个错误,其中2个就是楼上两位说的,应该用%d<BR>还有一个就是输入和输出的循环次数应该是<N<BR>其实林大叔也说了,可惜我太粗心了,没看清楚……<BR>自己瞎折腾,还连累了两位,<BR>总之非常感谢两位的帮助,谢谢。<BR><BR>附:正确的代码<BR><BR>#include <stdio.h><BR>main()<BR>{int a[N];<BR> int i,t;<BR> printf("\nPrcepare to Enter:");<BR> for(i=0;i<N;i++)<BR> {scanf("%d,",&a[i]);<BR><BR> }<BR> for(i=0;i<=N/2;i++)<BR> {t=a[i];<BR> a[i]=a[N-i-1];<BR> a[N-i-1]=t;<BR> }<BR> for(i=0;i<N;i++)<BR> printf("%5d",a[i]);<BR> getchar();getchar();<BR>}<BR><BR>
<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 + -