




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用main函数的参数选择是对整数进行操作还是对字符串进行操作:Handle int - 一、整数操作Handle string - 二、字符串操作一、 整数操作(含有50个正整数(=3位)的文件:int_input,输入1,2,3,4分别选择不同的操作)1. 排序(结果存到文件int_output1)2. 求中间两个数的最大公因数和最小公倍数3. 统计素数的个数4. 统计同构数的个数(同构数是指:它出现在它的平方数的右边),如5是其平方数25的尾数,76是其平方数5776的尾部二、 字符串操作(含有50个字符串的文件:string_input,输入1,2,3,4分别选择不同的操作)1. 排序(结果存到文件string_output1)2. 实现每个字符串的逆置,前25个用递归,后25个用非递归(结果存到文件string_output2)3. 统计单词”hello”出现的次数。 如某一行:ghhello32he,该行次数为14. 在最小串中出现,而未在最大串中出现的字符形成一个新的串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。例如: 当min = 112345, max = 2467时, u中的字符串为1135。源代码:#include#include#include#include#define N 50int ReadFile_Num(int*);void WriteFile_Num(char* FileName,int*,int);void sort_Num(int*,int);int CommonDivisor(int,int);int CommonMultiple(int,int);int PrimeNumber(int*,int);int TongGouShu(int*,int);int ReadFile_Str(char*,char* str);void WriteFile_Str(char*,char* str,int,char* mode);void sort_Str(char* str,int);void reverse(char* str,int);void reverse_recursion(char* str);int SearchHello(char* str,int);void FindMaxMin(char* str,int,char* r);void ProcessString(char* r);int main(int argc,char* argv)char choice;if(2=argc)if(strcmp(argv1,Handle int)=0)int Data_NumN;int len;printf(*整数操作*nn);len=ReadFile_Num(Data_Num);printf(请选择要进行的操作:);printf(n1、排序n);printf(2、求中间两个数的最大公约数和最小公倍数n);printf(3、统计素数n);printf(4、统计同构数n);fflush(NULL);scanf(%c,&choice);switch(choice)case 1: sort_Num(Data_Num,len); WriteFile_Num(int_output1.txt,Data_Num,len);printf(排序完成!n排序结果已存至int_output1.txt文件中.n);break;case 2:int m1,m2;m1=Data_Num(len+1)/2;m2=Data_Num(len+1)/2+1;printf( 中间两数为: %d,%dn,m1,m2 );printf(最大公约数为: %dn,CommonDivisor(m1,m2);printf(最小公倍数为: %dn,CommonMultiple(m1,m2);break;case 3:printf(数据中共有%d个素数n,PrimeNumber(Data_Num,len);break;case 4:printf(数据文件中共有%d个同构数n,TongGouShu(Data_Num,len);break;default:printf(输入错误n);else if(strcmp(argv1,Handle string)=0)char* Data_StringN;int i;int n;char choice;for(i=0;iN;i+)Data_Stringi=(char*)malloc(sizeof(char)*256);printf(*字符串操作*nn);printf(1、排序n);printf(2、字符串逆置n);printf(3、统计hello出现的次数n);printf(4、去除最小串中在最大串里出现过的字符n);n=ReadFile_Str(string_input.txt,Data_String);scanf(%c,&choice);switch(choice)case 1:sort_Str(Data_String,n);WriteFile_Str(string_output1.txt,Data_String,n,w);break;case 2:char*p;int i;reverse(Data_String,n/2);for(i=0;in/2;i+)p=Data_Stringn/2+i;reverse_recursion(p);break;case 3:printf(hello 出现%d次n,SearchHello(Data_String,n);break;case 4:char* r2;FindMaxMin(Data_String,n,r);printf(最小串: %sn,r0);printf(最大串: %s,r1);ProcessString(r);puts(r0);elseprintf(指令格式错误n);exit(0);elseprintf(指令格式错误n);exit(0);return 0;int ReadFile_Num(int* Data_Num)int i=0;FILE* fp=NULL;if( (fp=fopen(int_input.txt,r)=NULL )printf(数据文件不存在n,N);exit(0);while(!feof(fp)fscanf(fp,%d,&Data_Numi+);fclose(fp);printf(数据文件读取完成n);return i-1;void WriteFile_Num(char* FileName,int* Data_Num,int n)FILE* fp;int i;fp=fopen(FileName,w);for(i=0;in;i+)fprintf(fp,%dn,Data_Numi);fclose(fp);void sort_Num(int* Data_Num,int len)int i,j;int t;for(i=1;it)Data_Numj=Data_Numj-1;j-;Data_Numj=t;int CommonDivisor(int a,int b)int t;while(b!=0)t=a;a=b;b=t%b;return a;int CommonMultiple(int a,int b)int t;if(ab)t=a;a=b;b=t;t=a;while(a%b!=0)a+=t;return a;int PrimeNumber(int* Data_Num,int len)int i,j;int flag=0;int count=0;int PrimeNumN;for(i=0;ilen;i+)flag=1;for(j=2;jData_Numi;j+)if(Data_Numi%j=0)flag=0;break;if(flag)PrimeNumcount+=Data_Numi;return count;int TongGouShu(int* Data_Num,int len)int i;int t;int end;int wei;int s;int count=0;int rN;for(i=0;ilen;i+)end=0;wei=0;s=1;t=Data_Numi;while(t!=0)t/=10;wei+;t=Data_Numi*Data_Numi;while(wei-!=0)end+=(t%10)*s;t/=10;s*=10;if(end=Data_Numi)rcount+=Data_Numi;return count;int ReadFile_Str(char* name,char* str)FILE* fp;int i=0;if( (fp=fopen(name,r) )!=NULL)while(!feof(fp)fgets(stri+,100,fp);elseprintf(文件%s不存在,name);fclose(fp);return i-1;void sort_Str(char* str,int len)int i,j;char* t;for(i=1;i0 )strj=strj-1;j-;strj=t;void WriteFile_Str(char* name,char* str,int n,char* mode)FILE* fp;int i;fp=fopen(name,mode);for(i=0;in;i+)fprintf(fp,%s,stri);fclose(fp);void reverse(char* str,int n)char* buf=(char*)malloc(sizeof(char)*256);char* end;int i;int j;int len;WriteFile_Str(string_output2.txt,&buf,0,w);for(i=0;in;i+)len=strlen(stri);end=stri+len-1;for(j=0;jlen;j+)bufj=*end-;bufj=0;WriteFile_Str(string_output2.txt,&buf,1,a);free(buf);printf(操作完成!n逆置后的数据已保存至string_output2.txt文件中n);void reverse_recursion(char* str)FILE* fp=fopen(string_putput2.txt,a);if(*str!=0)reverse_recursion(str+1);fputc(*str,fp);fclose(fp);int SearchHello(char* str,int n)int i,j,k;char buf6;char* p;int len;int count=0;for(i=0;i=5)for(j=0;j=len-5;j+)p=stri+j;for(k=0;k5;k+)bufk=*p+;bufk=0;if( strcmp(buf,hello)=0 )count+;return count;void FindMaxMin(char* str,int n,char* r)int i;char* max=str0;char* min=str0;for(i=1;in;i+)if( strcmp(max,stri)0 )min=stri;r0=(char*)mal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生态公园规划2025:初步设计评估与生态旅游可持续发展路径报告
- 休闲食品健康化转型与市场拓展中的健康食品评价体系研究
- 时尚零售业快时尚模式变革下的数字化转型与数据驱动决策报告
- 老年教育课程设置与教学方法创新实践中的教育评价改革与创新案例分析报告
- 2025年土壤污染修复技术土壤修复设备投资回报率研究报告
- 医院信息化建设2025年关键:电子病历系统优化与患者隐私保护报告
- 2025年老年教育课程设置创新与情景模拟教学方法实践分析
- 2025年工业互联网平台数据备份与恢复策略在航空航天行业的应用研究报告
- 读书带给我的快乐6篇
- 旭阳化工设备管理制度
- 基层公共法律服务的困境与改进对策研究
- 残疾人电子商务培训
- GB/T 45148-2024数字文化馆资源和技术基本要求
- 2024-2025学年度第一学期七年级英语期末试卷
- 2025年春新北师大版数学一年级下册课件 综合实践 设计教室装饰图
- 2025年陕西延长石油集团矿业公司招聘笔试参考题库含答案解析
- 2024-2025学年度四川省宜宾市普通高中高一第一学期期末考试历史试题
- 云南教育强省建设规划纲要(2024-2035年)知识培训
- QC/T 1211-2024乘用车车门内开拉手总成
- 2025年江苏省建筑安全员A证考试题库及答案
- 2025版国家开放大学法学本科《知识产权法》期末纸质考试第五大题案例分析题题库
评论
0/150
提交评论