一些关于vc的问答

源代码在线查看: subject_36455.htm

软件大小: 8176 K
上传用户: RSY527
关键词: 问答
下载地址: 免注册下载 普通下载 VIP

相关代码

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

相关资源