| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 766 人关注过本帖
标题:单词个数
只看楼主 加入收藏
风雨123
Rank: 2
等 级:论坛游民
帖 子:84
专家分:65
注 册:2013-2-23
结帖率:66.67%
收藏
 问题点数:0 回复次数:10 
单词个数
请求各位大哥解答,小弟不甚感激!!!
描述:
给定若干行字符单词,每行有若干个单词,要求统计每行有多少个不同的单词。
输入
标准输入,包括若干行,第一行为用例的个数n,接下来的n行,每行开头为一个整数k,表示该行单词个数,接下来为k个单词,单词之间用一个空格隔开,可以假定不包含标点及非字符情况,大小写可忽略,如“I”和“i”可以认为是同一个单词,同时每行单词个数不超过80个,每个单词长度不超过20。
输出
标准输出,每个用例用一行输出不同单词的个数。
样例输入:
2
10 I am teacher you are teacher i am not student
7 You you my My old YOU Your
样例输入:
7
4
搜索更多相关主题的帖子: 单词 teacher 
2013-02-24 11:42
黑暗烧纸人
Rank: 4
来 自:甘肃
等 级:业余侠客
帖 子:113
专家分:239
注 册:2012-12-22
收藏
得分:0 
菜鸟飘过。。。

老衲闻到一股蛋蛋的忧伤......
2013-02-24 19:46
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
呵呵,看懂这段代码有奖!

程序代码:
#include<stdio.h>
#include<string.h>
int main()
{
    char w[128][24];
    int t, n, c, i, j;
    for(scanf("%d", &t); t--; printf("%d\n", c))
    for(scanf("%d", &n), c = i = 0; i < n; c += j == i++)
    for(scanf("%s", w[i]), strupr(w[i]), j = 0; j < i && strcmp(w[i], w[j]); j++);
    return 0;
}

重剑无锋,大巧不工
2013-02-24 20:22
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:0 
、、、、

仰望星空...........不忘初心!
2013-02-24 20:25
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用beyondyf在2013-2-24 20:22:11的发言:

呵呵,看懂这段代码有奖!

#include
#include
int main()
{
    char w[128][24];
    int t, n, c, i, j;
    for(scanf("%d", &t); t--; printf("%d\n", c))
    for(scanf("%d", &n), c = i = 0; i < n; c += j == i++)
    for(scanf("%s", w), strupr(w), j = 0; j < i && strcmp(w, w[j]); j++);
    return 0;
}
神一样的代码

DO IT YOURSELF !
2013-02-24 20:35
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
呵呵,那就换成规矩的写法

程序代码:
#include<stdio.h>
#include<string.h>

int main()
{
    char w[128][24];
    int t, n, c, i, j, k;
   
    scanf("%d", &t);
    for(k = 0; k < t; k++)
    {
        scanf("%d", &n);
        c = 0;
        for(i = 0; i < n; i++)
        {
            scanf("%s", w[i]);
            strupr(w[i]);             //将字符串中的小写字母转换成大写字母,声明包含在string.h中
            for(j = 0; j < i; j++)
            {
                if(strcmp(w[i], w[j]) == 0) break;
            }
            if(j == i) c++;
        }
        printf("%d\n", c);
    }
    return 0;
}

重剑无锋,大巧不工
2013-02-24 20:49
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
标记

DO IT YOURSELF !
2013-02-24 20:55
q923271687
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-6-6
收藏
得分:0 
scanf("%s", w[i]);
            strupr(w[i]);             //将字符串中的小写字母转换成大写字母,声明包含在string.h中
            for(j = 0; j < i; j++)
            {
                if(strcmp(w[i], w[j]) == 0) break;
            }
            if(j == i) c++;
这里怎么理解啊??求大神解释
2013-06-06 09:15
Explorerlxz
Rank: 9Rank: 9Rank: 9
来 自:zzu
等 级:蜘蛛侠
威 望:4
帖 子:302
专家分:1032
注 册:2013-4-24
收藏
得分:0 
回复 2楼 黑暗烧纸人
偶今天才看见,还有赏吗?
#include<stdio.h>
#include<string.h>
int main()
{
    char w[128][24];
    int t, n, c, i, j;
    for(scanf("%d", &t); t--; printf("%d\n", c))//t表示总共输入t行字符
    for(scanf("%d", &n), c = i = 0; i < n; c += j == i++)//n表示输入行中所含单词个数,i用于控制输入单词,c用于表示单词个数
    for(scanf("%s", w[i]), strupr(w[i]), j = 0; j < i && strcmp(w[i], w[j]); j++);//输入单词,全部变成大写字母,先输入的单词与新输入的一个单词两两比较,满足条件则j=1
    return 0;
}
2013-06-06 10:16
Explorerlxz
Rank: 9Rank: 9Rank: 9
来 自:zzu
等 级:蜘蛛侠
威 望:4
帖 子:302
专家分:1032
注 册:2013-4-24
收藏
得分:0 
回复错了,今天咋一直出错呢?
2013-06-06 10:17
快速回复:单词个数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022815 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved