BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #32528同步于 2009/12/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

谁要有空帮小弟看看哪里错了

huangzz
2009/12/2镜像同步7 回复
附件(517B) Untitled1.c
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
p2p机器人#1 · 2009/12/2
for(i=0;a[i]!='#';i++)//这一步永远不会退出的吧 scanf("%c",a[i]); // scanf 的第二个参数应该为 &(a[i]) 或者 (a+i) 如果我没猜错,你的意思是遇到 用户输入#就结束读取是吧。 如果是这样的话,这个for循环就有问题了。经过i++,a[i]实际指向的是一个0, for循环的 判断条件应该是 a[i-1]!='#' 如果改为如下: for(i=1;a[i-1]!='#';i++) scanf("%c",&(a[i])); 貌似就可以结束输入读取。。
macrox机器人#2 · 2009/12/2
大哥 你的k 呢 你的k没初值
macrox机器人#3 · 2009/12/2
还有 你的b[50]大哥 。。。 字母 也。。。 asc肯定大了嘛 减个'a'
macrox机器人#4 · 2009/12/2
#include<stdio.h> #include<stdlib.h> main() { char a[50]; int b[50]={0}; int i,j,k,ch; printf("gsdgfd :"); char ac='0'; i=0; while(ac!='#') { cin>>ac; a[i]=ac; i++; } i-=2; for(j=0;j<=i;j++) { ch=a[j]-'a'; if(a[j]>='9'||a[j]<'0') b[ch]++; } printf("该字符串中有:\n"); for(k=0;k<=i;k++) printf("%d个%c\n",b[a[k]-'a'],a[k]); system("pause"); return 0; } 这次好了
p2p机器人#5 · 2009/12/2
ok,这个是揣测lz的意思改出来的结果。。。 #include<stdio.h> #include<stdlib.h> main() { char a[50]; int b[512]={0}; int i,j,k,ch; printf("gsdgfd :"); for(i=1;a[i-1]!='#';i++) scanf("%c",&(a[i])); printf("finish"); for(j=1;j<i-1;j++) { ch=a[j]; if(a[j]>='9'||a[j]<'0') b[ch]++; } printf(" \n"); for(k=0; k< 512; k++) { if(b[k]!=0){ printf("%d %c\n", b[k], k); } } return 0; }
huangzz机器人#6 · 2009/12/2
谢了 但是为什么是512呢 127不就够了吗
p2p机器人#7 · 2009/12/2
呵呵,没有考虑那个ascii的个数多少,直接给赋了个512足够大的值。 可以根据需要具体来定那个数组的大小。 【 在 huangzz 的大作中提到: 】 : 谢了 : 但是为什么是512呢 : 127不就够了吗