用C语言编写文本检索程序

用C语言编写文本检索程序,第1张

#include"stdio.h"

#include"stdlib.h"

main()

{

FILE *fp

char str[80],*p,*head

int n=0

long filelen

loop1: printf("请输入您要用于 *** 作的文件名及其完整路径:\n"升棚)

gets(str)

fp=fopen(str,"rb+")

if(fp==NULL)

{

printf("找不到指定文吵盯则件,要指定新文件吗?(y=是的,要指定新文件\telse=不用了,退出程序)\t")

gets(str)

if((char)tolower((int)str[0])=='y')goto loop1

else exit(0)

}

printf("请输入您要查找并替换的字符(如果输入的字符数量大于1本程序会自动舍去多余的部分)\n")

gets(str)

printf("请输入您要将找到的字符或字符串替换为的字符(自动舍去多余部分)\n")

gets(&str[1])

fseek(fp,0L,2)

filelen=ftell(fp)

fseek(fp,0L,0)

head=(char *)malloc(filelen)

fread(head,filelen,1,fp)

for(p=headp<head+filelen/1Lp++)if(*p==str[0]){*p=str[1]n++}

fseek(fp,0L,0)

fwrite(head,filelen,1,fp)

fclose(fp)

printf("替换则宽已经完成,共替换%d处\n",n)

}

#include<stdio.h>

int main()

{int a[16]={15,14,13,12,11,10,9,8,7,6,5,4,3,1,0}

 int l=0,r=15,mid,x

 scanf("%d",&x)

 do

 {mid=(l+r)/2

  if(a[mid]==x)break

  if(x>a[mid])r=mid-1

    else l=mid+1

 }while(l<=r)

 if(a[mid]==x)

  坦烂 printf("a[%d]=%d\n",mid,x)

 else

 知局  printf("无此数\n")  

 return 让猛漏0    

}

写的我好累,分给我吧

#include<iostream.h>

#include<iomanip.h>

template <class T>

class Array

{

T *set

int n

public:

Array(T *data,int i){set=datan=i}

~Array(){}

void sort()// 排序

int seek(T key)// 查找指定的元素

T sum()// 求和

void disp()// 显示所有的搜皮明元素世告

}

template<class T>

void Array<T>::sort()

{

int i,j

T temp

for(i=1i<ni++)

for(j=n-1j>=ij--)

if(set[j-1]>set[j])

{

temp=set[j-1]set[j-1]=set[j]set[j]=temp

}

}

template <class T>

int Array<T>::seek(T key)

{

int i

for(i=0i<ni++)

if(set==key)

return i

return -1

}

template<class T>

T Array<T>::sum()

{

T s=0int i

for(i=0i<ni++)

s+=set

return s

}

template<class T>

void Array<T>::disp()

{

int i

for(i=0i<ni++)

cout<<set<<

cout<<endl

}

void main()

{

int a[]={6,3,8,1,9,4,7,5,2}

double b[]={2.3,6.1,1.5,8.4,6.7,3.8}

Array<int>arr1(a,9)

Array<double>arr2(b,6)

cout<<arr1:<<endl

cout<<原序列:arr1.disp()

cout<<8在arr1中的位置:<<arr1.seek(8)<<endl

arr1.sort()

cout<<排握败序后:arr1.disp()

cout<<arr2:<<endl

cout<<原序列:arr2.disp()

cout<<8.4在arr2中的位置:<<arr2.seek(8.4)<<endl

arr2.sort()

cout<<排序后:arr2.disp()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12363854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存