解题思路:
在解这个题之前我曾经接触过一个统计单词的题。从那个题得到了灵感,通过标志位判断是否为一个单词,同时进行字母计数。
注意事项:
参考代码:
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main()
{
int n,i,num,j=0,temp=0;
char ar[100000];
int flag=0; //1为在单词中,0为在单词外
fgets(ar,100000,stdin);
num=strlen(ar);
for(i=0;i<num;i++)
{
if(isalpha(ar[i])) //当为字母时j++
{
j++;
}
if(isalpha(ar[i])&&flag==0) //当刚好进入单词的第一个字母时
{
flag=1;
}
if(!isalpha(ar[i])&&flag==1) //刚好离开单词时
{
flag=0;
if(j>temp)
{
temp=j; //通过比较留下最长的单词的字母数
n=i; //记下最长的单词最后一个字母所在的后一个位置
}
j=0;
}
}
for(i=n-temp;i<n;i++)
printf("%c",ar[i]);
return 0;
}
0.0分
1 人评分
C语言训练-计算1977!* (C语言代码)浏览:940 |
震宇大神的杀毒软件 (C++代码)浏览:1173 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2812 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:484 |
最小公倍数 (C语言代码)浏览:1104 |
愚蠢的摄影师 (C++代码)浏览:980 |
母牛的故事 (C语言代码)浏览:1045 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:582 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1457 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:724 |