AC日记——最长最短单词 openjudge 1.7 25

25:最长最短单词

总时间限制: 
1000ms

内存限制: 
65536kB
描述

输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。

试输出第1个最长的单词和第1个最短单词。

输入
一行句子。
输出
两行输出:
第1行,第一个最长的单词。
第2行,第一个最短的单词。
样例输入
I am studying Programming language C in Peking University
样例输出
Programming
I
提示
如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。
来源
习题(12-2)

思路:

  模拟,,记录单词和单词长度,比较出结果;

来,上代码:

#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>

using namespace std;

int len,now=0,num,cur_1,len_all[201];

char word[30001],word_ans[201][101];

int main()
{
    gets(word);
    len=strlen(word);
    while(now<len)
    {
        if(word[now]==‘ ‘||word[now]==‘,‘)
        {
            while(word[now]==‘ ‘||word[now]==‘,‘) now++;
        }
        else
        {
            num++;
            cur_1=0;
            while((word[now]>=‘a‘&&word[now]<=‘z‘)||word[now]>=‘A‘&&word[now]<=‘Z‘)
            {
                word_ans[num][cur_1++]=word[now++];
            }
            len_all[num]=cur_1;
        }
    }
    int maxn=0,minn=0x7fffffff,ma_1,mi_1;
    for(int i=1;i<=num;i++)
    {
        if(len_all[i]>maxn) maxn=len_all[i],ma_1=i;
        if(len_all[i]<minn) minn=len_all[i],mi_1=i;
    }
    printf("%s\n%s\n",word_ans[ma_1],word_ans[mi_1]);
    return 0;
}
时间: 2024-08-08 03:29:52

AC日记——最长最短单词 openjudge 1.7 25的相关文章

最长最短单词

21:最长最短单词    总时间限制:1000ms  内存限制:65536kB描述    输入1行句子(不多于200个单词,每个单词长度不超过100),    只包含字母.空格和逗号.单词由至少一个连续的字母构成,    空格和逗号都是单词间的间隔.    试输出第1个最长的单词和第1个最短单词.输入    一行句子.输出    两行输出:    第1行,第一个最长的单词.    第2行,第一个最短的单词.样例输入    I am studying Programming language C

统计语句中的最长最短单词

已知 string sentence="We were her pride of 10 she named us: Benjamin, Phoenix, the Pordigal and perspicacious pacific Suzanne.";编写程序,计算sentence中有多少个单次,并指出其中最长和最短的单词,如果有多个,则将它们全部输出 使用find_first_of 和find_first_not_of,寻找到单词的起始位置: 使用vector存放最长和最短单词:通过

AC日记——字符串P型编码 openjudge 1.7 31

31:字符串p型编码 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串str,请写出str的p型编码串.例如:字符串122344111可被描述为"1个1.2个2.1个3.2个4.3个1",因此我们说122344111的p型编码串为1122132431:类似的道理,编码串101可以用来描述1111111111:00000000000可描述为"11个0",因此它的p型编码串即为11

AC日记——大整数的因子 openjudge 1.6 13

13:大整数的因子 总时间限制:  1000ms 内存限制:  65536kB 描述 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. 输入 一个非负整数c,c的位数<=30. 输出 若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开:若没有这样的k,则输出"none". 样例输入 30 样例输出 2 3 5 6 思路: 模拟: 来,上代码: #include<cstdio&g

AC日记——计算多项式的导函数 openjudge 1.5 38

38:计算多项式的导函数 总时间限制:  1000ms 内存限制:  65536kB 描述 计算多项式的导函数是一件非常容易的任务.给定一个函数f(x),我们用f'(x)来表示其导函数.我们用x^n来表示x的n次幂.为了计算多项式的导函数,你必须知道三条规则: (1).(C)' = 0 如果C是常量 (2).(C*x^n)' = C*n*x^(n-1) 如果n >= 1且C是常量 (3).(f1(x)+f2(2))' = f1'(x)+f2'(x) 容易证明,多项式的导函数也是多项式. 现在,请

AC日记——数1的个数 openjudge 1.5 40

40:数1的个数 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数. 例如当n=2时,写下1,2.这样只出现了1个“1”:当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12.这样出现了5个“1”. 输入 正整数n.1 <= n <= 10000. 输出 一个正整数,即“1”的个数. 样例输入 12 样例输出 5 来源 习题(8-11) 医学部 2010 期末试题 尤朝 思路

AC日记——加密的病历单 openjudge 1.7 12

12:加密的病历单 总时间限制:  1000ms 内存限制:  65536kB 描述 小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会. 在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单. 经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子) 1.  原文中所有的字符都在字母表中被循环左移了三个位置(dec  -> abz) 2.  逆序存储(abcd -

AC日记——向量点积计算 openjudge 1.6 09

09:向量点积计算 总时间限制:  1000ms 内存限制:  65536kB 描述 在线性代数.计算几何中,向量点积是一种十分重要的运算. 给定两个n维向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求点积a·b=a1b1+a2b2+...+anbn. 输入 第一行是一个整数n.1 <= n <= 1000.第二行包含n个整数a1,a2,...,an.第三行包含n个整数b1,b2,...,bn.相邻整数之间用单个空格隔开.每个整数的绝对值都不超过1000. 输出 一个

最长最短单词c++

本人只是一个菜鸡.这还是要感谢一个大佬的帮助才能够写出来.分享给大家. #include<bits/stdc++.h>using namespace std;int main(){char a[20000];char wlong[200];char wshort[200],word[200];int numlong=0,numshort=100;int i,n,l,k,cl; l=0;k=0;cin.getline(a,20000);n=strlen(a); for(i=0;i<=n;i