求解!这是什么错误
c4droid吧
全部回复
仅看楼主
level 5
脺nwittingly 楼主
# include <stdio.h>
int mian()
{
void shuchu(char x[ ]);
char a[60];
printf("请输入一句英文句子:\n");
gets (a);
shuchu(a);
return 0;
}
void shuchu(char x[ ])
{
int i,m=0,n=0,max,flag,sum;
int c[60];
for (i=0;x[i]=='\0';i++)
{
if (x[i]!=' ')
n=n+1;
else
c[m]=n;
m=m+1;
n=0;
}
max=c[0];
for (i=0;i<m;i++)
if (max<c[i])
{
max=c[i];
flag=i;
}
sum=flag;
for (i=0;i<flag;i++)
sum=sum+c[i];
for (i=sum-1;i<sum+c[flag];i++)
printf("%c",x[i]);
printf("\n");
}
2015年12月27日 05点12分 1
level 5
脺nwittingly 楼主
题目是引用一个函数找出一句英语句子里的最长的单词并输出,我的想法是给每个单词记编号并记下每个单词的长度放在数组c里,然后找出数组c里最大的数,然后就可以算出最大的单词前面有多少个字符
2015年12月27日 05点12分 2
level 5
脺nwittingly 楼主
好吧我知道哪里错了!!
2015年12月27日 05点12分 3
level 5
脺nwittingly 楼主
我又写成mian了!!!手快啊啊啊啊啊啊
2015年12月27日 05点12分 4
level 5
脺nwittingly 楼主
好吧新的问题来了
2015年12月27日 05点12分 5
level 5
脺nwittingly 楼主
是我的思路哪里出错了嘛,求解
2015年12月27日 05点12分 6
level 7
shuchu函数第一个for要改成x[i]!="\0" 接下来一if的判断"\0"没打全,哥们你也太着急了
2015年12月27日 06点12分 7
不等于一个字符啊,单个字符是用单引号的,下面那个if判断的是不等于空格,而不是不等于\0
2015年12月27日 07点12分
level 7
回复的时候切了输入法不好意思,刚刚试了下,发现确实想岔了[狂汗]
2015年12月27日 07点12分 8
level 7
# include <stdio.h>
void shuchu(char x[]);
int main()
{
char a[60]="o";
printf("请输入一句英文句子:\n");
gets (a);
//printf("%s",a);
//for(int i=0;a[i]!=' ';i++)
//printf("%c",a[i]);
shuchu(a);
return 0;
}
void shuchu(char x[])
{
char g[60];
int i,m=0,n=0;
int c[60]={0};int B[60]={0};int b=0;
for (i=0;x[i]!='\0';i++) //找到总字符数
{
//printf("%c",x[i]);
if( x[i]==' '){ //找到空格所在
B[b]=i; //有空格元素的下标给B
b++;
}
};
c[0]=B[0];
for(n=1;B[n]-B[n-1];n++){ //算出单词长度
c[n]=B[n]-B[n-1];
};
int max=0;//找到最长的
for (i=0;i<n;i++)
if (c[max]<c[i])
{
m=max;
max=i;
i=m;
}
for (i=B[max-1];i<=B[max];i++){//输出最长单词的每一个字符
printf("%c",x[i]);
};
}
2015年12月27日 09点12分 9
level 7
哈哈哈,我又回来啦,
2015年12月27日 09点12分 10
level 7
这回应该不错了
2015年12月27日 09点12分 11
1