一题简单的题目~但我实在是破不了~~求大神相助
c语言吧
全部回复
仅看楼主
level 4
确定没语法问题。我的几组测试数据有的对有的错。~~求大神分析
2012年11月22日 13点11分 1
level 4
求救~~实在是扛不住了~~我的逻辑真的很[拜]混乱了
2012年11月22日 13点11分 2
level 4
别沉~别沉
2012年11月22日 13点11分 3
level 4
不要沉。不然一晚上都要跪了[拍砖]
2012年11月22日 13点11分 4
level 4
别沉~~再顶下
2012年11月22日 13点11分 5
level 4
顶到有人帮啊~~
2012年11月22日 13点11分 6
level 6
这好难看懂。
2012年11月22日 13点11分 7
程序填空~~绿线下面给算法就好~
2012年11月22日 13点11分
回复 huangqinquan :能不能把代码发我。
2012年11月22日 13点11分
分2次~
2012年11月22日 13点11分
回复
#include "stdio.h"#
define MAXLEN 80int main( ){ int count,i,k,flag,sub; char cc,ch,oldch,str[MAXLEN]; oldch=' '; cc=getchar(); getchar(); while((ch=getchar())!='
#'||oldch!='#
'){ k=0; while(ch!='#'&& k< MAXLEN-1){ str[k++]=ch;
2012年11月22日 13点11分
level 6
#include "stdio.h"
#define MAXLEN 80
int main( )
{
int count,i,k,flag,sub;
char cc,ch,oldch,str[MAXLEN];
oldch=' ';
cc=getchar();
getchar();
while((ch=getchar())!='
#'||oldch!='#
')
{
k=0;
while(ch!='#'&& k=0&&sub<80)
{
printf("%d\n",sub);
}
else
printf("Not found\n");*/
}
return 0;
}
2012年11月22日 13点11分 8
level 6
你试试。我看不懂你写的什么意思。
2012年11月22日 13点11分 9
嗯~也谢谢你啦[开心]
2012年11月23日 05点11分
回复 huangqinquan :这个样子的其实我也试过~~不过楼下的大神看穿了漏洞不在这里~~
2012年11月23日 05点11分
level 3
改一下后面的for循环就好了
for (k=0; k<MAXLEN&&str[k]!='\0';k++ )
{
if (str[k]==cc)
{
sub=k;
}
}
2012年11月22日 13点11分 10
level 3
把循环判断条件从k<MAXLEN改成
k<MAXLEN&&str[k]!='\0'
2012年11月22日 14点11分 11
感动的都哭了。。终于成功了~~但能告诉·我为什么呢。。为什么这么加。。话说这个程序模板我也看不太懂,上面的好些句子觉得都没用~~比如oldch没用啊。。
2012年11月23日 05点11分
回复 huangqinquan :每个字符串最大是80个字符,但一般都小于80个字符,所以循环跳出条件应该是已经扫描到字符串的末尾而不是扫描了80个字符。扫描80个字符的话会读取其它内存空间的数据。
2012年11月23日 06点11分
回复 huangqinquan :而且,你如果用示例的输入,应该会输出0,6,6因为第二个字符串m在6,当把str字符串改为1234(第三个字符串)时,只会把str[0],str[1],str[2],str[3],str[4]改为1,2,3,4,'\0',str[5],str[6]等等还是"amming",所以第三次m最大值还是6
2012年11月23日 06点11分
回复 huangqinquan :我也没太仔细看你的代码,那个oldch应该是用来判断是否连续输入了两次#
2012年11月23日 06点11分
level 9
这有什么难的...[汗]几个判断就可以了...
2012年11月23日 17点11分 12
1