黑马程序员技术交流社区
标题:
请问这个程序是否有问题
[打印本页]
作者:
kakade
时间:
2015-5-26 22:22
标题:
请问这个程序是否有问题
在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)
#include<stdio.h>
int main()
{
char str[];
char *p;
printf("请输入单词:\n");
scanf("%s",str);
c=sizeof(str[]);//计算字符串长度
int b=0,temp=0,c=0;//分别表示一个单词的长度、最长单词的长度、c是最长单词末尾在字符串的位置
for(int i = 0,i < c,i++)//
{
while(str[i] == ' ')//判断是否元素空格
{
if(temp < b)//找出最长单词的长度
{
temp = b;//找出最长单词的字节数
c=i//c是最长单词末尾在字符串的位置
}
b = 0;//遇到空格就将前面单词的字节数置0
}
if( str[i] == '\0')//判断是否还有单词
{
int j = c-temp;//最长单词的首字母在字符串的位置
for(j,j < c,j++)
{
p = scanf(str[j]);//将最长单词存储到指针p
}
printf("最长的单词是%s长度为%d",p,b);
}
b++;
}
return 0;
}
作者:
x331275955
时间:
2015-5-26 22:41
看不懂....还没学呢...
作者:
蜡笔小炎
时间:
2015-5-26 22:54
while(str[i] == ' ')//判断是否元素空格
{
if(temp < b)//找出最长单词的长度
{
temp = b;//找出最长单词的字节数
c=i//c是最长单词末尾在字符串的位置
}
b = 0;//遇到空格就将前面单词的字节数置0
}
复制代码
亲,你这个循环里 i 就没有变化,如果不是空格怎么出来啊?
作者:
woaidd99
时间:
2015-5-26 22:59
坐观大神回答
作者:
kakade
时间:
2015-5-27 01:40
蜡笔小炎 发表于 2015-5-26 22:54
亲,你这个循环里 i 就没有变化,如果不是空格怎么出来啊?
如果 i 定义在外面呢
作者:
kakade
时间:
2015-5-27 01:42
蜡笔小炎 发表于 2015-5-26 22:54
亲,你这个循环里 i 就没有变化,如果不是空格怎么出来啊?
还有我想还有什么问题
作者:
fixer
时间:
2015-5-27 06:26
做过这一题,但是现在忘了...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2