解:认为单词是由全字母组成的字符串,程序中设longest函数,作用是找最长单词的位置。此函数的返回值是该行字符中最长单词的起始位置。 函数alphabetic的作用是判断当前字符是否字母,若是则返回1,否则返回0。 程序如下: int alphabetic(char c) /*判断当前字符是否字母,若是则返回1,否则返回0*/...
7.函数fun():形参变量是char型指针变量,s1指向输入字符串,s2指向输出字符串。由于操 作结果直接存入s2所指字符串中,所以不需要返回值,函数为void类型。定义指针变量p 指向当前单词的首位置,用s1移动到当前单词的尾处,将*s1赋值为"\0'即可,len统计当前 单词的字符个数, maxlen 是当前最长单词的字符个数。 算法...
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 ...
遍历单词列表,记录最长单词及其长度: 在遍历字符串的过程中,我们同时维护了两个长度变量(len_cur 和len_max)以及两个索引变量(j 和k)。len_cur 用于记录当前单词的长度,len_max 用于记录最长单词的长度。j 用于记录当前单词的索引,而 k 用于记录最长单词的起始索引。 返回或输出最长单词: 函数最后返回的是指...
如果这个单词长度超过之前储存的最长单词长度,则进行替代, 即maxlen=b-a+1 另外还要存储最长单词,这里用一个简便方法存储,即存储单词首尾字符的序号,这里用start和end存储。 然后不断进行比较,最后输出最长单词 voidsearch(chars[]){inta=0,b;intstart=0,end=0;intmaxlen=0;unsignedlonglen=strlen(s);for(int...
题目 写一函数,输入一行字符,将此字符串中最长的单词输出。 相关知识点: 试题来源: 解析解: #include cechang(char str1[100],word0[15]) { int i=0,j=0,t=0; static char word1[15]; for(;str1[i]!=’\0’;i++) { if(!(str1[i]>=97&&str1[i]<=122||str1[i]>=65&&str1[i]...
题目】 编写一个函数,输入一行字符,将此字符串中最长的单词输出。 相关知识点: 试题来源: 解析结果一 题目 编写一个函数,输入一行字符,将此字符串中最长的单词输出。 答案相关推荐 1 编写一个函数,输入一行字符,将此字符串中最长的单词输出。反馈 收藏 ...
include<stdio.h> int Transpose(int a[3][3]){ int i,j,t;for(i=0;i<3;i++)for(j=0;j<i;j++){ t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;} printf("after transpose is \n");for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%d",a[i][j]);} pr...
for(i=0;str[i];i++) /*提取字符串中的单词,但是输入时每个单词之间只允许*/ { /*有一个字符如空格,逗号只有句末才能用句号*/ if(isalnum(str[i])){ str1[j][t]=str[i];t++;} if(str[i]==' '||str[i]==','){ str1[j][t]='\0';j++;t=0;} } str1[j...
C语言:从键盘输入一行字符,输出其中最长的单词。(利用主函数调用子函数的方法) 程序如下: #include <stdio.h> #include <string.h> int main() { void word(char str2[]); char str1[100]; printf("请输入一行字符:\n"); gets(str1);