题目
Description
DarkDawn作为小学期的助教,工作之一便是统计讨论区同学们的发言情况。
DarkDawn是真的很严格,他认为一条发言不超过10个字符是没有营养的,同时如果一条发言在先前出现过一次,也是没有营养的发言。
DarkDawn很想立刻统计出结果,但他真的太累了,所以请你帮帮忙,帮他统计出结果。如果你帮他完成了任务,他就奖励你一个AC。
Input
第一行一个整数n,表示发言条数
接下来有n行,每行一个字符串s,表示一条发言,发言仅由大小写字母组成且区分大小写
Output
一个整数,表示有营养的发言的条数。
思路
开数组存储,之后遍历。若长度不够直接pass节省时间,长度足够再判断是否重复出现。
代码
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char arr[1009][25]={0}; int you=0;
int n; scanf("%d",&n);
char ch;ch=getchar();
for(int i=0;i<n;i++)//存
{
gets(arr[i]);
}
for(int i=0;i<n;i++)//遍历
{ int lon=0;
for(int j=0;arr[i][j]!='\0';j++)
{
lon++;
}
if(lon<=10) continue;
else if( lon >10) //是否有营养
{
if(i==0) you++;
else if(i>0)
{ int co=0;
for(int m=0;m<i;m++)
{
if(strcmp(arr[m],arr[i])==0)break;
else co++;
}if(co==i) you++;
}
}
}
printf("%d\n",you);
return 0;
}