习题 7.10 写一个函数,输入一行字符,将此字符串中最长的单词输出。
2017-09-15 13:08
495 查看
C程序设计(第四版) 谭浩强 习题7.10 个人设计
习题 7.10 写一个函数,输入一行字符,将此字符串中最长的单词输出。
代码块:方法1:
#include <stdio.h> #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, n, k, m, word; char p[20]; n=strlen(s); m=0; word=0; for (i=0, j=0, k=0; i<=n; i++){ if ((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')){ word=1; p[j++]=s[i]; } else if (word==1){ if (j>k){ for (m=0; m<j; m++) t[m]=p[m]; t[m]='\0'; k=j; } word=0; j=0; } } }
方法2:
#include <stdio.h> #include <string.h> void longword(char s[]); //定义最长单词函数 int main() { char str[50]; printf("Please enter string: "); //输入一行字符 gets(str); longword(str); //调用最长单词函数 return 0; } //最长单词函数 void longword(char s[]) { int max=0, len=0; char m[10], ma[10]; int n=strlen(s); for (int i=0, j=0; i<n; i++){ if ((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) m[len++]=s[i]; else{ m[len]='\0'; len>max ? max=len, strcpy(ma, m), len=0 : len=0; } } printf("The longest word: "); puts(ma); }
相关文章推荐
- 写一个函数,输入一行字符,将此字符串中最长的单词输出。
- 写一个函数,输入一行字符,将此字符串中最长的单词输出
- 7.10 写一函数,输入一行字符,将此字符串中最长的单词输出。
- 8.10 写一函数,输入一行字符,将此字符串中最长的单词输出。(改)
- 习题 7.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格、和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
- 编写一个函数,从实参传来一个字符串,统计其中字母,数字,空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果
- 编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格,和其他字符的个数,在主函数中输入字符串以及输出上述统计的结果。再考虑将算的的结果放在一个数组中
- 字符串替换空格: 请实现一个函数,把字符数组中的每个空格替换成“%20”。 例如输入“we are happy.”,则输出“we are happy.”
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- 输入一个字符串,输出长度最长的单词
- 输入一个字符串,输出长度最长的单词
- (c++)编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- 习题 8.16 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
- 实验 9 指针1 输入一行字符,要求用自定义的函数void f(char *line)统计和输出字符串中数字字符、英文字符和其他字符的个数
- 习题 6.14 编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2, 输出0;若s1<s2,输出一个负数。不要用strcmp函数。两个字符串用gets函数输入。
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- 字符串替换空格: 请实现一个函数,把字符数组中的每个空格替换成“%20”。 例如输入“we are happy.”,则输出“we%20are%20happy.”。
- 编写一函数,由实参数来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果
- 编写函数fun(char *s),其功能是:把字符串中所有字符前移一个位置,串中的第1个字符移到最后。 例如,若输入字符串为:ABC123xyz ,则应输出字符串: BC123xyzA 。
- 问题:求两个字符串的最长公共子串。 要求:输入两个字符串,输出它们的最长公共子串,包括长度。 设计: 设计一个类 String,包括一个 len(字符串长度)和字符串指针 s。另有如下成员函数: ·