写一个函数,输入一行字符,将此字符串中最长的单词输出。
解:认为单词是全由字母组成的字符串,程序中设longest函数的作用是找最长单词的位置。此函数的返回值是该行字符中最长单词的起始位置。longest 函数的N-S图如图7.1所示。[img=380x258]17d83b45f2b230c.png[/img]程序如下:# include # include < string. h>int main( ){ int alphabetic(char) ;int longest(char [ ] );int i;char line[100];printf("input one line:\n");gets(line);printf(" The longest word is :");for (i=longest(line); alphabetic(line[i]);i+ +) printf("%c",line[i]);prinf("\n");return 0;}int alphabetic(char c){if((c>='a' && c<= 'z')||(c>='A'&&c<='z')) return(1);else return(0);}int longest(char string[ ] ){ int len= 0,i,length=0,flag= 1,place=0,point;for (i=0;i<=strlen(string);i++) if (alphabetic(string[i]) ) if (flag) {point=i; flag=0; } else len+ +; else {flag=1; if (len> = length) {length= len; place= point; len=0; }}return( place);}运行结果:[img=196x55]17d83b95dd923f6.png[/img][br][/br]
举一反三
- 编制程序,输入一行字符串及一个字符。统计该行字符串中该字符出现的次数并输出
- 【简答题】写一函数,完成两个字符串的过滤,去掉要连接的字符串中的空格、字母字符。 在主函数中调用,并输出过滤后的字符串。 过滤后的字符串既可以存在原字符数组,也可以存储在新的字符数组中。 输入格式:一个字符串 输入示例: 20190001 aBc 姓名 输出格式:过滤后的一行字符串 输出示例: 学号+姓名 *main函数前,写明注释 /* 学号 姓名 20191211 */
- putchar函数是 ( ) 函数。 A: 字符串输出 B: 字符输入 C: 字符输出
- 编写函数,在给定的一行以'.'结束的字符中,找出最长的单词并输出
- 编写一函数,求一个字符串的长度,要求用字符指针实现。在主函数中输入字符串,调用该函数输出其长度
内容
- 0
写一函数,完成两个字符串的连接。在主函数中调用,并输出连接后的字符串。输入格式:两个字符串,一行输入一个输入示例:学号姓名输出格式:连接后的一行字符串输出示例:学号+姓名*main函数前,写明注释/*学号姓名20191210*/
- 1
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。
- 2
从键盘输入一任意字符串和一个指定字符,编一函数,其功能是返回指定字符在输入字符串中出现的次数。数据的输入与输出在主函数中实现。
- 3
【填空题】C 语言中格式化输出函数是 ,格式化输入函数是 ,单个字符的输入函数是 ,单个字符输出函数是 ; 字符串输出函数 ,字符串输入函数是
- 4
常用于字符输入的函数为(),常用于字符输出的函数为(),常用于字符串输入的函数为(),常用于字符串输出的函数为()。