PAT MOOC-C 06-3 单词长度

此题为简化版,题设为“以‘.‘结尾”、“单词与语言无关”。三种情况下的输入输出为

. -> 无输出

a     b. ->1 1(无空格)

a   b  . ->1 1(无空格)

程序中为了让最后不输出空格,设置了一个bool型的flag,输出了数字时将flag置为真,输出下一个数时如果flag为真则先输出一个空格,题设要求及代码实现如下

/*
    Name:
    Copyright:
    Author:
    Date: 31/03/15 21:16
    Description:
你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it‘s”算一个单词,长度为4。注意,行中可能出现连续的空格;最后的‘.’不计算在内。

输入格式:

输入在一行中给出一行文本,以‘.’结束。

提示:用scanf("%c",...);来读入一个字符,直到读到‘.’为止。

输出格式:

在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。

输入样例:

It‘s great to see you here.
输出样例:

4 5 2 3 3 4
*/

#include <stdio.h>
#include <stdbool.h>

int main()
{
//    freopen("in.txt", "r", stdin); // for test 

    char ch;
    int cnt;
    bool flag;

    flag = false;
    cnt = 0;
    while((ch = getchar()) && ch != ‘.‘)
    {
        if(ch != ‘ ‘)
            cnt++;
        else if(cnt != 0)
        {
            if(flag)
                printf(" ");
            printf("%d", cnt);
            flag = true;
            cnt = 0;
        }
    }
    if(cnt != 0)
    {
        if(flag)
            printf(" ");
        printf("%d\n", cnt);
    }
//    fclose(stdin); // for test

    return 0;
}
时间: 2024-11-08 21:51:46

PAT MOOC-C 06-3 单词长度的相关文章

06-3. 单词长度(15)

你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束.你要输出每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4.注意,行中可能出现连续的空格:最后的‘.’不计算在内. 输入格式: 输入在一行中给出一行文本,以‘.’结束. 提示:用scanf("%c",...);来读入一个字符,直到读到‘.’为止. 输出格式: 在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格. 输入样例: It's great to

程序设计入门—Java语言 第六周编程题 1 单词长度(4分)

第六周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 1 单词长度(4分) 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以'.'结束.你要输出这行文本中每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如"it's"算一个单词,长度为4.注意,行中可能出现连续的空格. 输入格式: 输入在一行中给出一行文本,以'.'结束,结尾的句号不能计算在最后一个单词的长度内. 输出格式: 在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后

150131-编写程序,打印其输入文件中单词长度直方图

编写程序,打印其输入文件中单词长度直方图(横.竖).       1. 横直方图     1 #include<stdio.h> 2 main() 3 { 4 char c; 5 int i=0; 6 7 while((c=getchar())!=EOF) { 8 9 if(c>='a'&&c<='z'||c>='A'&&c<='Z') 10 { 11 printf("%c",c); 12 i++; 13 } 14 1

单词长度

你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束.你要输出每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4.注意,行中可能出现连续的空格:最后的‘.’不计算在内. 输入格式: 输入在一行中给出一行文本,以‘.’结束. 提示:用scanf("%c",...);来读入一个字符,直到读到‘.’为止. 输出格式: 在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格. 输入样例: It's great to

【华为OJ平台练习题】求最后一个单词长度

//描述 //计算字符串最后一个单词的长度,单词以空格隔开. //知识点 字符串,循环 //运行时间限制 0M //内存限制 0 //输入 //一行字符串,长度小于128. //输出 //整数N,最后一个单词的长度. //样例输入 hello world //样例输出 5 #include <iostream> using namespace std; int countLastWordLength(char *s) { int counter=0; int lg = strlen(s); f

7-46 jmu-python-求单词长度 (10 分)

输入n个单词,计算每个单词长度.对单词长度排序,分行输出单词长度及其单词. 输入格式: 行1:单词个数n 分行输入n个单词 输出格式: 分行输出单词长度及其单词.(单词长度,单词)用元组表示 输入样例: 5 python list set 996 tuple 输出样例: (3, '996') (3, 'set') (4, 'list') (5, 'tuple') (6, 'python') n = int(input()) ls = [] for i in range(n): s = input

[LeetCode]38. Length of Last Word最后单词长度

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string. If the last word does not exist, return 0. Note: A word is defined as a character sequence consists of non-space cha

7-26 单词长度(15 分)

你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束.你要输出每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4.注意,行中可能出现连续的空格:最后的.不计算在内. 输入格式: 输入在一行中给出一行文本,以.结束 提示:用scanf("%c",...);来读入一个字符,直到读到.为止. 输出格式: 在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格. 输入样例: It's great to see you he

计算字符串最后一个单词长度,单词以空格隔开

题目描述 计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 示例1 输入 hello world 输出 5源程序代码: package package01; import java.util.Scanner; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-gener