8.9写一函数,输入一行字符,将此字符串中最长的单词输出。 解:认为单词是由全字母组成的字符串,程序中设longest函数,作用是找最长单词的位置。此函数的返回值是该行字符中最长单词的起始位置。 函数alphabetic的作用是判断当前字符是否字母,若是则返回1,否则返回0。
编写函数,求一个英文句子中最长的英文单词,要求在主函数中输入数据,并输出结果【答案】#include#include int zm( char c)//定义函数,判定一个
include <iostream> void main(){ int word(char c);int longest(char str[]);int i;char str[80];printf("输入一行字符串\n\n");gets(str);printf("\n\n最长的单词为:\n\n");for(i=longest(str);word(str[i]);i++)printf("%c",str[i]);printf("\n");} int word(char ...
p-n : t;}int main(void){ char str[1000],*p; scanf("%[A-Z a-z]",str); for(p=longest(str);*p && *p!=' ';printf("%c",*p++)); printf("\n")
include<string.h> void longword(char s[],char t[]);//定义最长单词函数 int main(){ char str[30],lg[20];gets(str);//输入一行字符 longword(str,lg);//调用最长单词函数 puts(lg);//输出最长单词 return 0;} //最长单词函数 void longword(char s[],char t[]){ int i,j,...
1、开头加上c[0]='\0';,将c长度置为0 。2、你多处k写成了i,帮你改回来。3、b[j]=a[k];后加上b[j+1]='\0';,否则b字符串无结束标记。4、strcpy(c,b);加上strlen(b)>strlen(c)的条件,否则你输出的是最后一个单词。5、else if(a[k]==' '&&a[k+1]!=' ')中的b[j...
楼上的何必不指出思路啊!分析:首先输入的是一行字符吧,而要找出最长的单词,首先要做的就是统计出每个单词吧,统计单词可以根据空格来判断是否为一个单词,当不是空格时,变量累加(这个就是单词的长度啊),储存起来,开始下一个单词的统计!最后把每个单词的长度作比较,求出最大的一个就行了,在...
longest函数,算法有问题,而且函数没有返回值。也不用这么复杂!请参考如下代码:include<stdio.h> include<string.h> char a[80],b[80],c[80];void longest(char a[]);int main(){ gets(a);longest(a);printf("%s\n",c);return 0;} int alpha(char c){ if(c>='a'&&c<='z'|...
当然不行。。首先 for(r=1;r<22;r++)scanf("%c\n",&a[r]);就有问题。。意思是不管你前面输入了多少。直到回车停止只读了第一个字符。然后重复21次要。。注意。第一个应该是a[0];
include <stdio.h>#include <string.h> int main() { char line[100]; int alphabetic(char),i; int longest(char[]); printf("input a line:\n"); gets(line); for(i = longest(line);alphabetic(line[i]);i++) printf("%c",line[i]); printf("\n"...