函数
#include<stdio.h>#include<string.h>
void fun(char s[])
{
char b;
char c;
int len,len1,i=0,count=0,max=0;
len=strlen(s);
for(i=0;i<len;i++)
{
if(s!=' ')
b=s;
if(s==' ')
{
if(count>max)
{
max=count;
strcpy(c,b);
count=0;
len1=strlen(c);
c='\0';
}
}
}
puts(c);
}
int main()
{
char a;
printf("请输入一个字符串:");
gets(a);
fun(a);
return 0;
}
//要求是要输入一行字符串,以空格隔开,然后输出这个字符串里面最长的单词,比如输入i like fishc,输出fishc,
但是我的输出有问题,请大佬看看哪里错了 本帖最后由 洋洋痒 于 2021-3-8 15:36 编辑
此楼作废 你的代码每出现一次空格判断一次长度,但是最后一个单词却没有判断,所以在循环结束后再判断一下最后一个单词的长度 洋洋痒 发表于 2021-3-8 13:20
你的代码每出现一次空格判断一次长度,但是最后一个单词却没有判断,所以在循环结束后再判断一下最后一个单 ...
不行,还是有乱码出现 严凯 发表于 2021-3-8 14:27
不行,还是有乱码出现
用的什么软件…… 我用的codeblocks,自己复制自己刚才发的代码也乱码了……
可以按照这个网址方法二修改软件,之后就不乱码了
https://blog.csdn.net/zhao2chen3/article/details/81352682
#include<stdio.h>
#include<string.h>
void fun(char s[])
{
char b;
char c;
int len,i=0,count=0,max=0;
len=strlen(s);
for(i=0;i<len;i++)
{
if(s!=' ')
b=s;
else if(s==' ')
{
if(count>max)
{
max=count;
strcpy(c,b);
c='\0';
count=0;
}
count=0;//这句话不管count>max成不成立,只有遇到空格了count就需要归零
}
}
if(count>max)//最后一个单词也要判断一下
{
max=count;
strcpy(c,b);
c='\0';
count=0;
}
puts(c);
}
int main()
{
char a;
printf("请输入一个字符串:");
gets(a);
fun(a);
return 0;
}
代码还有一个错误现在改过来了 洋洋痒 发表于 2021-3-8 15:13
代码还有一个错误现在改过来了
我不知道是不是我的编译器问题,编译器是学校老师搞得盗版VC2010
我复制你的,就直接报错了
页:
[1]