开放题代码二
Posted zlonglongago
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开放题代码二相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include <string.h>
#define S 50 //假定次数分界线为50
int main()
{
FILE * fp=fopen("Request.txt","r");
struct date{
char name[10];
int sum=0; //用户名出现次数
}n[20000];
struct man{
char name[10]; //黑客用户名
}hac[20];
int i=0,j,k=0,sign;
while(fscanf(fp,"%s %*s %*s",&n[i].name)!=EOF){
sign=1;
for(int z=0;z<k;z++)if(strcmp(hac[z].name,n[i].name)==0){sign=0;i--;break;}//碰到已经记录的黑客名跳过
for(j=0;j<i&&sign;j++) //新读入的(非黑客)是否已经出现过
if(strcmp(n[i].name,n[j].name)==0){ //如果已经出现过
n[j].sum++;
if(n[j].sum>=S)strcpy(hac[k].name,n[j].name),k++; //记录新黑客用户名
break;
}
if(j==i)n[i].sum++;//如果没有出现过
i++;
}
printf("%d
",k);//输出黑客数目
for(int j=0;j<k;j++)
printf("%s
",hac[j].name);//输出名字
fclose(fp);
return 0;
}
以上是关于开放题代码二的主要内容,如果未能解决你的问题,请参考以下文章