1442: Neo 的简单字符串
时间限制: 10 Sec 内存限制: 128 MB提交: 9 解决: 3题目描述
Neo 给你一系列字符串,请你输出字符串中的不同单词个数以及总单词个数。
输入
多组输入,每组数据都是一行字符串(长度小于200),其中每个单词以空格隔开(单词都是小写字母组成)。
输出
输出字符串中的不同单词个数以及总单词个数。
样例输入
i love chinaaa aa bb
样例输出
3 32 3
来源
#include#define M 300using namespace std;int main(){ char str[M][M]; int num, ans, a; char b[M], c; while(scanf("%s%c", str[0], &c) != EOF) { num = 1; a = 1; while(c != '\n') { /* 输入第二个字符,然后与前面的字符进行比较 */ scanf("%s%c", b, &c); bool same = false; for ( int i = 0; i < num; i++) { ans = strcmp(str[i], b); /* 如果两个字符串相同,字符串总数减一 */ if( ans == 0 ) { same = true; break; } } if( !same ) { strcpy(str[num++], b); } a++; } printf("%d %d\n", num, a); } return 0;}
收获:
1.C/C++函数,比较两个字符串:
设这两个字符串为str1,str2,
若str1==str2,则返回零;
若str1<str2,则返回负数;
若str1>str2,则返回正数。
matlab中函数,strcmp(s1,s2) 判断两个字符串s1和s2是否相同,相同返回true ,不同返回false
2.strcpy是一种C语言的标准库函数,strcpy把从src地址开始且含有'\0'结束符的字符串复制到以dest开始的 ,返回值的类型为char*。
原型声明:char *strcpy(char* dest, const char *src);
头文件:#include < > 和 #include <stdio.h>
功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的 。