筛选函数C语言,C语言筛选

用c语言对文章进行筛选

主要是CalcWord和WriteWord 函数,仔细研究吧,别浪费我的心血:

创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都做网站、卫滨网络推广、重庆小程序开发、卫滨网络营销、卫滨企业策划、卫滨品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供卫滨建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

#include stdio.h

#include conio.h

#include string.h

#include ctype.h

#include math.h

struct WORD_FOUND

{

char szWord[256];

int nCount;

};

WORD_FOUND g_WordFound[1000]={{"",0}};

int g_nMatch=0;

int CalcWord(char *szFile)

{

char szText[1024];

char szWord[512];

FILE * fp;

int i;

if ((fp=fopen(szFile,"r"))==NULL)

{

printf("file not found");

return -1;

}

while(fgets(szText,sizeof(szText)-1,fp))

{

char *tmp=szText,*end=szText+strlen(szText);

char *endChr;

while (tmpend)

{

while ((*tmp==' '||*tmp=='\n'||*tmp=='\t'||!isalpha(*tmp))*tmp) tmp++;

endChr=tmp;

while (*endChr*endChr!='\n'*endChr!='\r'*endChr!=' ')

{

if (!isalpha(abs(*endChr)))

break;

endChr++;

}

memset(szWord,0,sizeof(szWord));

strncpy(szWord,tmp,endChr-tmp);

bool bFound=false;

for (i=0;ig_nMatch;i++)

{

if (strcmp(g_WordFound[i].szWord,szWord)==0)

{

g_WordFound[i].nCount++;

bFound=true;

break;

}

}

if (!bFoundstrlen(szWord)0)

{

strcpy(g_WordFound[g_nMatch].szWord,szWord);

g_WordFound[g_nMatch].nCount++;

g_nMatch++;

}

tmp=endChr;

if (tmp=end) break;

}

}

return 0;

}

int WriteWord(char *szFile,int nAppearance)

{

int i;

FILE *file=fopen(szFile,"w");

if (!file) return -1;

for (i=0;ig_nMatch;i++)

{

if (g_WordFound[i].nCount=nAppearance)

{

fwrite(g_WordFound[i].szWord,1,strlen(g_WordFound[i].szWord),file);

fwrite("\n",1,1,file);

printf("%s = %d\n",g_WordFound[i].szWord,g_WordFound[i].nCount);

}

}

if (file) fclose(file);

return 0;

}

int main()

{

int i;

if (CalcWord("in.txt")!=0)

{

printf("Calculate word failed\n");

return 0;

}

WriteWord("out.txt",10);

for (i=0;ig_nMatch;i++)

{

printf("%s = %d\n",g_WordFound[i].szWord,g_WordFound[i].nCount);

}

getch();

return 0;

}

筛选法的C语言实现筛选法程序步骤

先解释一下筛选法的步骤:

1 先将1挖掉(因为1不是素数)。

2 用2去除它后面的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。

3 用3去除它后面的各数,把3的倍数挖掉。

4 分别用5…各数作为除数去除这些数以后的各数。

上述操作需要一个很大的容器去装载所有数的集合,只要满足上述条件,即2的倍数大于1的全部置0,3的倍数大于1的全部置0,4的倍数大于1的全部置0.。。。一直到这个数据集合的末尾,这样一来不为0的数就是素数了,然后按下标在里面进行查找就好了

c程序 用筛选法求100之内的素数 修正一下!

#includelt;stdio.hgt;

#includelt;math.hgt;

int main()

{

int i,j,k=0,a[100];

for(i=0;ilt;100;i++)

{

alt;igt;=i+1;//将1~100赋值给a[0]~a[99]

}

a[0]=0;//先把a[0]赋值为0

for(i=0;ilt;99;i++)

{

for(j=i+1;jlt;100;j++)

{

if(alt;igt;!=0a[j]!=0)

{

if(a[j]%alt;igt;==0)

{

a[j]=0;//把不是素数的都赋值为0

}

}

}

}

printf("筛选法求出100以内的素数为:\n");

for(i=0;ilt;100;i++)

{

if(alt;igt;!=0)//选出值不为0的数,即素数

{

printf("%4d",alt;igt;);

k++;

}

if(k%10==0)//输出10个数后换行

{

printf("\n");

}

}

printf("\n");

return 0;

}

运行效果:

扩展资料:

在c语言中产生格式化输出的函数(定义在 stdio.h 中),其向未重定向终端(显示器、控制台等)输出字符。

Format 参数是包含三种对象类型的一个字符串:

* 无格式字符复制到输出流;

* 转换规范,每个规范导致在值参数列表中检索 1 个或更多个项;

* 转义序列。

通常意义上format的格式如下:

%[flags][width][.prec][F|N|h|l]type


网页名称:筛选函数C语言,C语言筛选
网页链接:http://hbruida.cn/article/hcpehi.html