zoukankan      html  css  js  c++  java
  • C语言 · 最长单词

    算法提高 最长单词  
    时间限制:1.0s   内存限制:512.0MB
        
      编写一个函数,输入一行字符,将此字符串中最长的单词输出。
      输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
    样例输入
    I am a student
    样例输出
    student
     
     1 #include<stdio.h>
     2 #include<string.h>
     3 #define max 100000
     4 int is_zimu(char ch){//判断字符ch是否为字母:是返回1,否则返回0 
     5     if(ch>='a' && ch<='z' || ch>='A' && ch<='Z')
     6         return 1;
     7     else
     8         return 0;
     9 }
    10 int main(){
    11     char str[max];
    12     int len=0,length=0;
    13     int point,place;
    14     gets(str);
    15     int flag=1;
    16     for(int i=0;i<=strlen(str);i++){
    17         if(!is_zimu(str[i])){//当前字符不是字母 
    18             if(len>length){
    19                 length=len;//记录上一个单词长度 
    20                 place=point;
    21             }
    22             flag=1;//标记置1
    23             len=0;//单词长度清0,接下来记录下一个单词长度 
    24         }else{
    25             if(flag)
    26                 point=i;//存放当前字母元素的下标 
    27             len++;//单词长度+1 
    28             flag=0;//标记置0 
    29         }
    30     }
    31     for(int i=place;i<place+length;i++){
    32         printf("%c",str[i]);
    33     }
    34     return 0;
    35 }
  • 相关阅读:
    python基础学习1-函数相关
    python基础学习1-SET 集合
    Linux命令学习笔记1
    python基础学习1-字典的使用
    python基础学习1-列表使用
    Jzoj4743 积木
    Jzoj4786 小a的强迫症
    Jzoj4746 树塔狂想曲
    Jzoj5246 Trip
    Jzoj5245 Competing Souls
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6623459.html
Copyright © 2011-2022 走看看