Error[8]: Undefined offset: 1163, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

第一次上机:

要求:
1、比较两个文本文件并打印出它们第一个不相同的行(文件每行字符数不多于80)。

#include 
#include 
int main(int argc, char const *argv[])
{
//初始化变量 
	FILE *fp1,*fp2;
	int flag=0;
	char line1[200],line2[200];
//打开文件,如果打开失败给出提示  
	if(  ((fp1=fopen("1.txt","r"))==NULL) ||  ((fp2=fopen("2.txt","r"))==NULL)   )
	{
		printf("cannot open file\n");
	return 0;
	}
	fp1=fopen("1.txt","r");
	fp2=fopen("2.txt","r");
	
//读取内容  
	while(!feof(fp1)&&!feof(fp2))
	{
//		按行读取,进行比较 
		fgets(line1,80,fp1);
		fgets(line2,80,fp2);
//		比较利用库函数strcmp 
		if(strcmp(line1,line2)!=0)
		{
			printf("%s\n",line1);
			printf("%s\n",line2);
			flag=1;
			break;
		}
		
	}
//	如果没有读取到不同的内容,则给出提示 
	if(flag==0) printf("The two files are same");
	
//	关闭文件 
	fclose(fp1);
	fclose(fp2);

	return 0;
}

2、将c语言编写的源文件(.c文件)的每行前加上行号并删除其所有注释。

#include
#include
#include
int main()
{
//	初始化变量  
	FILE*fp1,*fp2;
	char f1[10],f2[10];
	char s1[500],t1[500],t2[500];	
	int i=0,j=0,p=1,n=0,count=0;
//	打开文件 
	if((fp1=fopen("former_test.cpp","r"))==NULL)
	{
		printf("cannot open file1\n");
		return 0;
	}
	
	if((fp2=fopen("now_test.cpp","w"))==NULL)
	{
		printf("cannot open file2\n");
		return 0;
	}
	
// 读取内容 
	while( !feof(fp1) )
	{
//		按行读取 
		count = 1;
		fgets(s1, 199, fp1);
		
		n = strlen(s1);
//		先去注释,再加行号 
		for( i = 1; i < n; i++ )
		{
//			分别考虑单行注释与多行注释 
			if( s1[i] == '/' && s1[i-1] == '/' )
			{
				s1[i-1] = '\n';
				s1[i] = ';'//				每次去除注释后,利用fprint加行号 
fprintf
				(,fp2"/*""%d""*/",++p);//				将处理后的字符写入目标文件 
fputs
				(, s1) fp2 ;=
				count 0 ;break
				;}
			if
			([ s1]i== '*' && [ s1-i1]== '/' ) [
			{
				s1-i1]= '\n' ;[
				s1]i= ';' fprintf(
				,"/*"fp2"%d""*/",++)p;fputs(
				,) s1; fp2 =0
				count ; break;
				}if
			(
			[] s1==i'/' && [ - s11i]=='*' ) for (
			{
				
				=0 j ; <- j ; n++i) j[ ]
					s1=j[ + s1+ j 1 i ] ;[]
				
				s1=j';' fprintf (,
				"/*""%d"fp2"*/",++);pfputs(,
				); s1= fp2 0;
				count break ;}
				}if
			(
		)
		fprintf(count,
			"/*""%d"fp2"*/",++);pfputs(,
			);s1} fp2//	关闭文件 fclose	
	(

)
	;fclosefp1()
	;printffp2("ok\n"

	);return0;
	} #include	 
int


第二次上机:

要求:
1、文本文件num1.txt和num2.txt中各有一组用空格分隔的整数,将num1.txt和num2.txt联合排序,并将结果保存在num3.txt中

main(

) *=fopen
{
	FILE (fp1"num1.txt","r");*=fopen
	FILE (fp2"num2.txt","r");*=fopen
	FILE (fp3"num3.txt","w");if(==
	
	NULL||fp1==NULL||fp2==NULL)fp3printf("cannot open file\n"
	{
		);return0;
		} int[
	1000
	
	] num;int=0
	; countwhile(!
	
	feof())fscanffp1(,
	{
		"%d",fp1&[])num;count++;}
		countwhile(
	!
	feof())fscanffp2(,
	{
		"%d",fp2&[])num;count++;}
		countint=
	0
	
	; tempfor(int
	= 0; i < -1 i ; count++)for (iint
	{
		= 0; j < -1 j - count;++)i if (j[
		{
			] [num+j1>num]j)=[+
			{
				temp1num]j;[+1
				num]j=[];num[j]=
				num;j}}temp}
			int
		=
	0

	
	; indexwhile(<
	)fprintfindex(count,
	{
		"%d ",fp3[])num;index++;}
		indexfclose(
	)
	
	;fclosefp1()
	;fclosefp2()
	;printffp3("ok\n"
	
	);}#include

#

2、统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果,查找并替换此英文文本文件中某字符串。

include# 
includevoid 
strreplace( 
char *,char * Src,char * From); int Tomain(
int ,charconst argc* [ ] )argv//统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果//	打开文件 *
{
	,
*
	FILE ;f=fopentf(
	f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} //	利用ascii码进行字母统计 int
	[
	
26
 
	] character_num=0,}{;char[1000
	] str;char[80
	] temp;int=0
	; awhile(!
	feof())fgetsf(, {
		80,temp);strcatf(,
		);str}tempint=
	strlen

	( n);forstr(int
	= 0; i < ;++ i ) nif (iisalpha
	{
		( [])str)itolower([
		{
			])str;i[([
			character_num]-str97i)]++;}}//	输出统计结果 
		char
	=
'a'
	; characterprintf("the result:\n"
	);for(int
	= 0; i < 26; i ++ )printf (i"%c:%d "
	{
		,,[]character)character_num;i++;if
		character((
		+ 1)i%5==0)printf("\n"
		{
			);}}fclose
		(
	)

	;fclosef()
    ;// 查找并替换此英文文本文件中某字符串tfchar[

1024

	] buf=0},{[20]from,[20]to;printf("Input string you shall find:"

	);scanf("%s"
    ,);printffrom("Input string you shall replace to:" 
    );scanf("%s"
    ,);// 把替换的串重新从English.txt读出、写入新文件temp.txtto=fopen

(
    
   
    f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} while(
	!

     feof())fgetsf(,
    {
        sizeof(buf),)buf;strreplacef(,
        ,)buf;from//每一行都查找、替换目标串tofputs(  ,
        );bufmemsettf(,
        0,bufsizeof());buf}fclose(
     )

    ;fclosef()
    ;//     // 把temp.txt内容写回English.txttf//    f=fopen("English.txt","w+");//	tf=fopen("temp.txt","r+");
    

//	if(f==NULL||tf==NULL)
//		printf("cannot open file\n");
//		return 0;
//	}
//	{
//
//     while(!feof(tf))
//    {        
//    	fgets(buf,sizeof(buf),tf);
//        fputs(buf,f); 
//        memset(buf,0,sizeof(buf));
//    }    
//
//    fclose(f);
//    fclose(tf);
printf
(
"ok"
	);return0; 
	} //自定义的字符串替换函数(所有出现的匹配串都替换为目标串)void
strreplace

(
char *,char * Src,char * From)int , To;{
     char length_to*length_from,
     * ,sf[1024se]endBuf=0};{=strlen(
     length_from ) ;=Fromstrlen(
     length_to ) ;/*
1.C 库函数 char *strstr(const char *haystack, const char *needle) 
在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 'while';
2.C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。
是把第二个字符串覆盖到第一个字符串上
3.C 库函数 void *memset(void *str, int c, size_t n) 
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
4.C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 
从存储区 str2 复制 n 个字节到存储区 str1,覆盖原有部分数据
*/To(=
strstr 
     (,sf ) )//     	 sf获得目标字符串的首地址 SrcifFrom(=={
NULL
         )breaksf ; else//         	se获得末尾地址 ,也就是目标字符串后面字符的首地址 
             =+
         ;
         {
strcpy
             se ( sf , length_from)
             ;//             重置se endBufmemsetse(,
0
             ,strlense());//             正式替换字符串 endBufmemcpy(,
,
             );sfmemcpyTo(length_to+,
             ,strlensf(length_to)endBuf);//             重置endBuf endBufmemset(,
0
             ,strlenendBuf());}endBuf}}[+++]
         [+++]
     [+++]
    
 [+++]

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 1164, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

第一次上机:

要求:
1、比较两个文本文件并打印出它们第一个不相同的行(文件每行字符数不多于80)。

#include 
#include 
int main(int argc, char const *argv[])
{
//初始化变量 
	FILE *fp1,*fp2;
	int flag=0;
	char line1[200],line2[200];
//打开文件,如果打开失败给出提示  
	if(  ((fp1=fopen("1.txt","r"))==NULL) ||  ((fp2=fopen("2.txt","r"))==NULL)   )
	{
		printf("cannot open file\n");
	return 0;
	}
	fp1=fopen("1.txt","r");
	fp2=fopen("2.txt","r");
	
//读取内容  
	while(!feof(fp1)&&!feof(fp2))
	{
//		按行读取,进行比较 
		fgets(line1,80,fp1);
		fgets(line2,80,fp2);
//		比较利用库函数strcmp 
		if(strcmp(line1,line2)!=0)
		{
			printf("%s\n",line1);
			printf("%s\n",line2);
			flag=1;
			break;
		}
		
	}
//	如果没有读取到不同的内容,则给出提示 
	if(flag==0) printf("The two files are same");
	
//	关闭文件 
	fclose(fp1);
	fclose(fp2);

	return 0;
}

2、将c语言编写的源文件(.c文件)的每行前加上行号并删除其所有注释。

#include
#include
#include
int main()
{
//	初始化变量  
	FILE*fp1,*fp2;
	char f1[10],f2[10];
	char s1[500],t1[500],t2[500];	
	int i=0,j=0,p=1,n=0,count=0;
//	打开文件 
	if((fp1=fopen("former_test.cpp","r"))==NULL)
	{
		printf("cannot open file1\n");
		return 0;
	}
	
	if((fp2=fopen("now_test.cpp","w"))==NULL)
	{
		printf("cannot open file2\n");
		return 0;
	}
	
// 读取内容 
	while( !feof(fp1) )
	{
//		按行读取 
		count = 1;
		fgets(s1, 199, fp1);
		
		n = strlen(s1);
//		先去注释,再加行号 
		for( i = 1; i < n; i++ )
		{
//			分别考虑单行注释与多行注释 
			if( s1[i] == '/' && s1[i-1] == '/' )
			{
				s1[i-1] = '\n';
				s1[i] = ';'//				每次去除注释后,利用fprint加行号 
fprintf
				(,fp2"/*""%d""*/",++p);//				将处理后的字符写入目标文件 
fputs
				(, s1) fp2 ;=
				count 0 ;break
				;}
			if
			([ s1]i== '*' && [ s1-i1]== '/' ) [
			{
				s1-i1]= '\n' ;[
				s1]i= ';' fprintf(
				,"/*"fp2"%d""*/",++)p;fputs(
				,) s1; fp2 =0
				count ; break;
				}if
			(
			[] s1==i'/' && [ - s11i]=='*' ) for (
			{
				
				=0 j ; <- j ; n++i) j[ ]
					s1=j[ + s1+ j 1 i ] ;[]
				
				s1=j';' fprintf (,
				"/*""%d"fp2"*/",++);pfputs(,
				); s1= fp2 0;
				count break ;}
				}if
			(
		)
		fprintf(count,
			"/*""%d"fp2"*/",++);pfputs(,
			);s1} fp2//	关闭文件 fclose	
	(

)
	;fclosefp1()
	;printffp2("ok\n"

	);return0;
	} #include	 
int


第二次上机:

要求:
1、文本文件num1.txt和num2.txt中各有一组用空格分隔的整数,将num1.txt和num2.txt联合排序,并将结果保存在num3.txt中

main(

) *=fopen
{
	FILE (fp1"num1.txt","r");*=fopen
	FILE (fp2"num2.txt","r");*=fopen
	FILE (fp3"num3.txt","w");if(==
	
	NULL||fp1==NULL||fp2==NULL)fp3printf("cannot open file\n"
	{
		);return0;
		} int[
	1000
	
	] num;int=0
	; countwhile(!
	
	feof())fscanffp1(,
	{
		"%d",fp1&[])num;count++;}
		countwhile(
	!
	feof())fscanffp2(,
	{
		"%d",fp2&[])num;count++;}
		countint=
	0
	
	; tempfor(int
	= 0; i < -1 i ; count++)for (iint
	{
		= 0; j < -1 j - count;++)i if (j[
		{
			] [num+j1>num]j)=[+
			{
				temp1num]j;[+1
				num]j=[];num[j]=
				num;j}}temp}
			int
		=
	0

	
	; indexwhile(<
	)fprintfindex(count,
	{
		"%d ",fp3[])num;index++;}
		indexfclose(
	)
	
	;fclosefp1()
	;fclosefp2()
	;printffp3("ok\n"
	
	);}#include

#

2、统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果,查找并替换此英文文本文件中某字符串。

include# 
includevoid 
strreplace( 
char *,char * Src,char * From); int Tomain(
int ,charconst argc* [ ] )argv//统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果//	打开文件 *
{
	,
*
	FILE ;f=fopentf(
	f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} //	利用ascii码进行字母统计 int
	[
	
26
 
	] character_num=0,}{;char[1000
	] str;char[80
	] temp;int=0
	; awhile(!
	feof())fgetsf(, {
		80,temp);strcatf(,
		);str}tempint=
	strlen

	( n);forstr(int
	= 0; i < ;++ i ) nif (iisalpha
	{
		( [])str)itolower([
		{
			])str;i[([
			character_num]-str97i)]++;}}//	输出统计结果 
		char
	=
'a'
	; characterprintf("the result:\n"
	);for(int
	= 0; i < 26; i ++ )printf (i"%c:%d "
	{
		,,[]character)character_num;i++;if
		character((
		+ 1)i%5==0)printf("\n"
		{
			);}}fclose
		(
	)

	;fclosef()
    ;// 查找并替换此英文文本文件中某字符串tfchar[

1024

	] buf=0},{[20]from,[20]to;printf("Input string you shall find:"

	);scanf("%s"
    ,);printffrom("Input string you shall replace to:" 
    );scanf("%s"
    ,);// 把替换的串重新从English.txt读出、写入新文件temp.txtto=fopen

(
    
   
    f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} while(
	!

     feof())fgetsf(,
    {
        sizeof(buf),)buf;strreplacef(,
        ,)buf;from//每一行都查找、替换目标串tofputs(  ,
        );bufmemsettf(,
        0,bufsizeof());buf}fclose(
     )

    ;fclosef()
    ;//     // 把temp.txt内容写回English.txttf//    f=fopen("English.txt","w+");//	tf=fopen("temp.txt","r+");
    

//	if(f==NULL||tf==NULL)
//		printf("cannot open file\n");
//		return 0;
//	}
//	{
//
//     while(!feof(tf))
//    {        
//    	fgets(buf,sizeof(buf),tf);
//        fputs(buf,f); 
//        memset(buf,0,sizeof(buf));
//    }    
//
//    fclose(f);
//    fclose(tf);
printf
(
"ok"
	);return0; 
	} //自定义的字符串替换函数(所有出现的匹配串都替换为目标串)void
strreplace

(
char *,char * Src,char * From)int , To;{
     char length_to*length_from,
     * ,sf[1024se]endBuf=0};{=strlen(
     length_from ) ;=Fromstrlen(
     length_to ) ;/*
1.C 库函数 char *strstr(const char *haystack, const char *needle) 
在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 'while';
2.C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。
是把第二个字符串覆盖到第一个字符串上
3.C 库函数 void *memset(void *str, int c, size_t n) 
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
4.C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 
从存储区 str2 复制 n 个字节到存储区 str1,覆盖原有部分数据
*/To(=
strstr 
     (,sf ) )//     	 sf获得目标字符串的首地址 SrcifFrom(=={
NULL
         )breaksf ; else//         	se获得末尾地址 ,也就是目标字符串后面字符的首地址 
             =+
         ;
         {
strcpy
             se ( sf , length_from)
             ;//             重置se endBufmemsetse(,
0
             ,strlense());//             正式替换字符串 endBufmemcpy(,
,
             );sfmemcpyTo(length_to+,
             ,strlensf(length_to)endBuf);//             重置endBuf endBufmemset(,
0
             ,strlenendBuf());}endBuf}}
         [+++]
     [+++]
    
 [+++]

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 1165, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

第一次上机:

要求:
1、比较两个文本文件并打印出它们第一个不相同的行(文件每行字符数不多于80)。

#include 
#include 
int main(int argc, char const *argv[])
{
//初始化变量 
	FILE *fp1,*fp2;
	int flag=0;
	char line1[200],line2[200];
//打开文件,如果打开失败给出提示  
	if(  ((fp1=fopen("1.txt","r"))==NULL) ||  ((fp2=fopen("2.txt","r"))==NULL)   )
	{
		printf("cannot open file\n");
	return 0;
	}
	fp1=fopen("1.txt","r");
	fp2=fopen("2.txt","r");
	
//读取内容  
	while(!feof(fp1)&&!feof(fp2))
	{
//		按行读取,进行比较 
		fgets(line1,80,fp1);
		fgets(line2,80,fp2);
//		比较利用库函数strcmp 
		if(strcmp(line1,line2)!=0)
		{
			printf("%s\n",line1);
			printf("%s\n",line2);
			flag=1;
			break;
		}
		
	}
//	如果没有读取到不同的内容,则给出提示 
	if(flag==0) printf("The two files are same");
	
//	关闭文件 
	fclose(fp1);
	fclose(fp2);

	return 0;
}

2、将c语言编写的源文件(.c文件)的每行前加上行号并删除其所有注释。

#include
#include
#include
int main()
{
//	初始化变量  
	FILE*fp1,*fp2;
	char f1[10],f2[10];
	char s1[500],t1[500],t2[500];	
	int i=0,j=0,p=1,n=0,count=0;
//	打开文件 
	if((fp1=fopen("former_test.cpp","r"))==NULL)
	{
		printf("cannot open file1\n");
		return 0;
	}
	
	if((fp2=fopen("now_test.cpp","w"))==NULL)
	{
		printf("cannot open file2\n");
		return 0;
	}
	
// 读取内容 
	while( !feof(fp1) )
	{
//		按行读取 
		count = 1;
		fgets(s1, 199, fp1);
		
		n = strlen(s1);
//		先去注释,再加行号 
		for( i = 1; i < n; i++ )
		{
//			分别考虑单行注释与多行注释 
			if( s1[i] == '/' && s1[i-1] == '/' )
			{
				s1[i-1] = '\n';
				s1[i] = ';'//				每次去除注释后,利用fprint加行号 
fprintf
				(,fp2"/*""%d""*/",++p);//				将处理后的字符写入目标文件 
fputs
				(, s1) fp2 ;=
				count 0 ;break
				;}
			if
			([ s1]i== '*' && [ s1-i1]== '/' ) [
			{
				s1-i1]= '\n' ;[
				s1]i= ';' fprintf(
				,"/*"fp2"%d""*/",++)p;fputs(
				,) s1; fp2 =0
				count ; break;
				}if
			(
			[] s1==i'/' && [ - s11i]=='*' ) for (
			{
				
				=0 j ; <- j ; n++i) j[ ]
					s1=j[ + s1+ j 1 i ] ;[]
				
				s1=j';' fprintf (,
				"/*""%d"fp2"*/",++);pfputs(,
				); s1= fp2 0;
				count break ;}
				}if
			(
		)
		fprintf(count,
			"/*""%d"fp2"*/",++);pfputs(,
			);s1} fp2//	关闭文件 fclose	
	(

)
	;fclosefp1()
	;printffp2("ok\n"

	);return0;
	} #include	 
int


第二次上机:

要求:
1、文本文件num1.txt和num2.txt中各有一组用空格分隔的整数,将num1.txt和num2.txt联合排序,并将结果保存在num3.txt中

main(

) *=fopen
{
	FILE (fp1"num1.txt","r");*=fopen
	FILE (fp2"num2.txt","r");*=fopen
	FILE (fp3"num3.txt","w");if(==
	
	NULL||fp1==NULL||fp2==NULL)fp3printf("cannot open file\n"
	{
		);return0;
		} int[
	1000
	
	] num;int=0
	; countwhile(!
	
	feof())fscanffp1(,
	{
		"%d",fp1&[])num;count++;}
		countwhile(
	!
	feof())fscanffp2(,
	{
		"%d",fp2&[])num;count++;}
		countint=
	0
	
	; tempfor(int
	= 0; i < -1 i ; count++)for (iint
	{
		= 0; j < -1 j - count;++)i if (j[
		{
			] [num+j1>num]j)=[+
			{
				temp1num]j;[+1
				num]j=[];num[j]=
				num;j}}temp}
			int
		=
	0

	
	; indexwhile(<
	)fprintfindex(count,
	{
		"%d ",fp3[])num;index++;}
		indexfclose(
	)
	
	;fclosefp1()
	;fclosefp2()
	;printffp3("ok\n"
	
	);}#include

#

2、统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果,查找并替换此英文文本文件中某字符串。

include# 
includevoid 
strreplace( 
char *,char * Src,char * From); int Tomain(
int ,charconst argc* [ ] )argv//统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果//	打开文件 *
{
	,
*
	FILE ;f=fopentf(
	f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} //	利用ascii码进行字母统计 int
	[
	
26
 
	] character_num=0,}{;char[1000
	] str;char[80
	] temp;int=0
	; awhile(!
	feof())fgetsf(, {
		80,temp);strcatf(,
		);str}tempint=
	strlen

	( n);forstr(int
	= 0; i < ;++ i ) nif (iisalpha
	{
		( [])str)itolower([
		{
			])str;i[([
			character_num]-str97i)]++;}}//	输出统计结果 
		char
	=
'a'
	; characterprintf("the result:\n"
	);for(int
	= 0; i < 26; i ++ )printf (i"%c:%d "
	{
		,,[]character)character_num;i++;if
		character((
		+ 1)i%5==0)printf("\n"
		{
			);}}fclose
		(
	)

	;fclosef()
    ;// 查找并替换此英文文本文件中某字符串tfchar[

1024

	] buf=0},{[20]from,[20]to;printf("Input string you shall find:"

	);scanf("%s"
    ,);printffrom("Input string you shall replace to:" 
    );scanf("%s"
    ,);// 把替换的串重新从English.txt读出、写入新文件temp.txtto=fopen

(
    
   
    f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} while(
	!

     feof())fgetsf(,
    {
        sizeof(buf),)buf;strreplacef(,
        ,)buf;from//每一行都查找、替换目标串tofputs(  ,
        );bufmemsettf(,
        0,bufsizeof());buf}fclose(
     )

    ;fclosef()
    ;//     // 把temp.txt内容写回English.txttf//    f=fopen("English.txt","w+");//	tf=fopen("temp.txt","r+");
    

//	if(f==NULL||tf==NULL)
//		printf("cannot open file\n");
//		return 0;
//	}
//	{
//
//     while(!feof(tf))
//    {        
//    	fgets(buf,sizeof(buf),tf);
//        fputs(buf,f); 
//        memset(buf,0,sizeof(buf));
//    }    
//
//    fclose(f);
//    fclose(tf);
printf
(
"ok"
	);return0; 
	} //自定义的字符串替换函数(所有出现的匹配串都替换为目标串)void
strreplace

(
char *,char * Src,char * From)int , To;{
     char length_to*length_from,
     * ,sf[1024se]endBuf=0};{=strlen(
     length_from ) ;=Fromstrlen(
     length_to ) ;/*
1.C 库函数 char *strstr(const char *haystack, const char *needle) 
在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 'while';
2.C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。
是把第二个字符串覆盖到第一个字符串上
3.C 库函数 void *memset(void *str, int c, size_t n) 
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
4.C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 
从存储区 str2 复制 n 个字节到存储区 str1,覆盖原有部分数据
*/To(=
strstr 
     (,sf ) )//     	 sf获得目标字符串的首地址 SrcifFrom(=={
NULL
         )breaksf ; else//         	se获得末尾地址 ,也就是目标字符串后面字符的首地址 
             =+
         ;
         {
strcpy
             se ( sf , length_from)
             ;//             重置se endBufmemsetse(,
0
             ,strlense());//             正式替换字符串 endBufmemcpy(,
,
             );sfmemcpyTo(length_to+,
             ,strlensf(length_to)endBuf);//             重置endBuf endBufmemset(,
0
             ,strlenendBuf());}endBuf}}
         
     [+++]
    
 [+++]

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 1166, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

第一次上机:

要求:
1、比较两个文本文件并打印出它们第一个不相同的行(文件每行字符数不多于80)。

#include 
#include 
int main(int argc, char const *argv[])
{
//初始化变量 
	FILE *fp1,*fp2;
	int flag=0;
	char line1[200],line2[200];
//打开文件,如果打开失败给出提示  
	if(  ((fp1=fopen("1.txt","r"))==NULL) ||  ((fp2=fopen("2.txt","r"))==NULL)   )
	{
		printf("cannot open file\n");
	return 0;
	}
	fp1=fopen("1.txt","r");
	fp2=fopen("2.txt","r");
	
//读取内容  
	while(!feof(fp1)&&!feof(fp2))
	{
//		按行读取,进行比较 
		fgets(line1,80,fp1);
		fgets(line2,80,fp2);
//		比较利用库函数strcmp 
		if(strcmp(line1,line2)!=0)
		{
			printf("%s\n",line1);
			printf("%s\n",line2);
			flag=1;
			break;
		}
		
	}
//	如果没有读取到不同的内容,则给出提示 
	if(flag==0) printf("The two files are same");
	
//	关闭文件 
	fclose(fp1);
	fclose(fp2);

	return 0;
}

2、将c语言编写的源文件(.c文件)的每行前加上行号并删除其所有注释。

#include
#include
#include
int main()
{
//	初始化变量  
	FILE*fp1,*fp2;
	char f1[10],f2[10];
	char s1[500],t1[500],t2[500];	
	int i=0,j=0,p=1,n=0,count=0;
//	打开文件 
	if((fp1=fopen("former_test.cpp","r"))==NULL)
	{
		printf("cannot open file1\n");
		return 0;
	}
	
	if((fp2=fopen("now_test.cpp","w"))==NULL)
	{
		printf("cannot open file2\n");
		return 0;
	}
	
// 读取内容 
	while( !feof(fp1) )
	{
//		按行读取 
		count = 1;
		fgets(s1, 199, fp1);
		
		n = strlen(s1);
//		先去注释,再加行号 
		for( i = 1; i < n; i++ )
		{
//			分别考虑单行注释与多行注释 
			if( s1[i] == '/' && s1[i-1] == '/' )
			{
				s1[i-1] = '\n';
				s1[i] = ';'//				每次去除注释后,利用fprint加行号 
fprintf
				(,fp2"/*""%d""*/",++p);//				将处理后的字符写入目标文件 
fputs
				(, s1) fp2 ;=
				count 0 ;break
				;}
			if
			([ s1]i== '*' && [ s1-i1]== '/' ) [
			{
				s1-i1]= '\n' ;[
				s1]i= ';' fprintf(
				,"/*"fp2"%d""*/",++)p;fputs(
				,) s1; fp2 =0
				count ; break;
				}if
			(
			[] s1==i'/' && [ - s11i]=='*' ) for (
			{
				
				=0 j ; <- j ; n++i) j[ ]
					s1=j[ + s1+ j 1 i ] ;[]
				
				s1=j';' fprintf (,
				"/*""%d"fp2"*/",++);pfputs(,
				); s1= fp2 0;
				count break ;}
				}if
			(
		)
		fprintf(count,
			"/*""%d"fp2"*/",++);pfputs(,
			);s1} fp2//	关闭文件 fclose	
	(

)
	;fclosefp1()
	;printffp2("ok\n"

	);return0;
	} #include	 
int


第二次上机:

要求:
1、文本文件num1.txt和num2.txt中各有一组用空格分隔的整数,将num1.txt和num2.txt联合排序,并将结果保存在num3.txt中

main(

) *=fopen
{
	FILE (fp1"num1.txt","r");*=fopen
	FILE (fp2"num2.txt","r");*=fopen
	FILE (fp3"num3.txt","w");if(==
	
	NULL||fp1==NULL||fp2==NULL)fp3printf("cannot open file\n"
	{
		);return0;
		} int[
	1000
	
	] num;int=0
	; countwhile(!
	
	feof())fscanffp1(,
	{
		"%d",fp1&[])num;count++;}
		countwhile(
	!
	feof())fscanffp2(,
	{
		"%d",fp2&[])num;count++;}
		countint=
	0
	
	; tempfor(int
	= 0; i < -1 i ; count++)for (iint
	{
		= 0; j < -1 j - count;++)i if (j[
		{
			] [num+j1>num]j)=[+
			{
				temp1num]j;[+1
				num]j=[];num[j]=
				num;j}}temp}
			int
		=
	0

	
	; indexwhile(<
	)fprintfindex(count,
	{
		"%d ",fp3[])num;index++;}
		indexfclose(
	)
	
	;fclosefp1()
	;fclosefp2()
	;printffp3("ok\n"
	
	);}#include

#

2、统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果,查找并替换此英文文本文件中某字符串。

include# 
includevoid 
strreplace( 
char *,char * Src,char * From); int Tomain(
int ,charconst argc* [ ] )argv//统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果//	打开文件 *
{
	,
*
	FILE ;f=fopentf(
	f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} //	利用ascii码进行字母统计 int
	[
	
26
 
	] character_num=0,}{;char[1000
	] str;char[80
	] temp;int=0
	; awhile(!
	feof())fgetsf(, {
		80,temp);strcatf(,
		);str}tempint=
	strlen

	( n);forstr(int
	= 0; i < ;++ i ) nif (iisalpha
	{
		( [])str)itolower([
		{
			])str;i[([
			character_num]-str97i)]++;}}//	输出统计结果 
		char
	=
'a'
	; characterprintf("the result:\n"
	);for(int
	= 0; i < 26; i ++ )printf (i"%c:%d "
	{
		,,[]character)character_num;i++;if
		character((
		+ 1)i%5==0)printf("\n"
		{
			);}}fclose
		(
	)

	;fclosef()
    ;// 查找并替换此英文文本文件中某字符串tfchar[

1024

	] buf=0},{[20]from,[20]to;printf("Input string you shall find:"

	);scanf("%s"
    ,);printffrom("Input string you shall replace to:" 
    );scanf("%s"
    ,);// 把替换的串重新从English.txt读出、写入新文件temp.txtto=fopen

(
    
   
    f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} while(
	!

     feof())fgetsf(,
    {
        sizeof(buf),)buf;strreplacef(,
        ,)buf;from//每一行都查找、替换目标串tofputs(  ,
        );bufmemsettf(,
        0,bufsizeof());buf}fclose(
     )

    ;fclosef()
    ;//     // 把temp.txt内容写回English.txttf//    f=fopen("English.txt","w+");//	tf=fopen("temp.txt","r+");
    

//	if(f==NULL||tf==NULL)
//		printf("cannot open file\n");
//		return 0;
//	}
//	{
//
//     while(!feof(tf))
//    {        
//    	fgets(buf,sizeof(buf),tf);
//        fputs(buf,f); 
//        memset(buf,0,sizeof(buf));
//    }    
//
//    fclose(f);
//    fclose(tf);
printf
(
"ok"
	);return0; 
	} //自定义的字符串替换函数(所有出现的匹配串都替换为目标串)void
strreplace

(
char *,char * Src,char * From)int , To;{
     char length_to*length_from,
     * ,sf[1024se]endBuf=0};{=strlen(
     length_from ) ;=Fromstrlen(
     length_to ) ;/*
1.C 库函数 char *strstr(const char *haystack, const char *needle) 
在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 'while';
2.C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。
是把第二个字符串覆盖到第一个字符串上
3.C 库函数 void *memset(void *str, int c, size_t n) 
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
4.C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 
从存储区 str2 复制 n 个字节到存储区 str1,覆盖原有部分数据
*/To(=
strstr 
     (,sf ) )//     	 sf获得目标字符串的首地址 SrcifFrom(=={
NULL
         )breaksf ; else//         	se获得末尾地址 ,也就是目标字符串后面字符的首地址 
             =+
         ;
         {
strcpy
             se ( sf , length_from)
             ;//             重置se endBufmemsetse(,
0
             ,strlense());//             正式替换字符串 endBufmemcpy(,
,
             );sfmemcpyTo(length_to+,
             ,strlensf(length_to)endBuf);//             重置endBuf endBufmemset(,
0
             ,strlenendBuf());}endBuf}}
         
     
    
 [+++]

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
xdu程序设计上机作业C++_C_内存溢出

xdu程序设计上机作业C++

xdu程序设计上机作业C++,第1张

第一次上机:

要求:
1、比较两个文本文件并打印出它们第一个不相同的行(文件每行字符数不多于80)。

#include 
#include 
int main(int argc, char const *argv[])
{
//初始化变量 
	FILE *fp1,*fp2;
	int flag=0;
	char line1[200],line2[200];
//打开文件,如果打开失败给出提示  
	if(  ((fp1=fopen("1.txt","r"))==NULL) ||  ((fp2=fopen("2.txt","r"))==NULL)   )
	{
		printf("cannot open file\n");
	return 0;
	}
	fp1=fopen("1.txt","r");
	fp2=fopen("2.txt","r");
	
//读取内容  
	while(!feof(fp1)&&!feof(fp2))
	{
//		按行读取,进行比较 
		fgets(line1,80,fp1);
		fgets(line2,80,fp2);
//		比较利用库函数strcmp 
		if(strcmp(line1,line2)!=0)
		{
			printf("%s\n",line1);
			printf("%s\n",line2);
			flag=1;
			break;
		}
		
	}
//	如果没有读取到不同的内容,则给出提示 
	if(flag==0) printf("The two files are same");
	
//	关闭文件 
	fclose(fp1);
	fclose(fp2);

	return 0;
}

2、将c语言编写的源文件(.c文件)的每行前加上行号并删除其所有注释。

#include
#include
#include
int main()
{
//	初始化变量  
	FILE*fp1,*fp2;
	char f1[10],f2[10];
	char s1[500],t1[500],t2[500];	
	int i=0,j=0,p=1,n=0,count=0;
//	打开文件 
	if((fp1=fopen("former_test.cpp","r"))==NULL)
	{
		printf("cannot open file1\n");
		return 0;
	}
	
	if((fp2=fopen("now_test.cpp","w"))==NULL)
	{
		printf("cannot open file2\n");
		return 0;
	}
	
// 读取内容 
	while( !feof(fp1) )
	{
//		按行读取 
		count = 1;
		fgets(s1, 199, fp1);
		
		n = strlen(s1);
//		先去注释,再加行号 
		for( i = 1; i < n; i++ )
		{
//			分别考虑单行注释与多行注释 
			if( s1[i] == '/' && s1[i-1] == '/' )
			{
				s1[i-1] = '\n';
				s1[i] = ';'//				每次去除注释后,利用fprint加行号 
fprintf
				(,fp2"/*""%d""*/",++p);//				将处理后的字符写入目标文件 
fputs
				(, s1) fp2 ;=
				count 0 ;break
				;}
			if
			([ s1]i== '*' && [ s1-i1]== '/' ) [
			{
				s1-i1]= '\n' ;[
				s1]i= ';' fprintf(
				,"/*"fp2"%d""*/",++)p;fputs(
				,) s1; fp2 =0
				count ; break;
				}if
			(
			[] s1==i'/' && [ - s11i]=='*' ) for (
			{
				
				=0 j ; <- j ; n++i) j[ ]
					s1=j[ + s1+ j 1 i ] ;[]
				
				s1=j';' fprintf (,
				"/*""%d"fp2"*/",++);pfputs(,
				); s1= fp2 0;
				count break ;}
				}if
			(
		)
		fprintf(count,
			"/*""%d"fp2"*/",++);pfputs(,
			);s1} fp2//	关闭文件 fclose	
	(

)
	;fclosefp1()
	;printffp2("ok\n"

	);return0;
	} #include	 
int


第二次上机:

要求:
1、文本文件num1.txt和num2.txt中各有一组用空格分隔的整数,将num1.txt和num2.txt联合排序,并将结果保存在num3.txt中

main(

) *=fopen
{
	FILE (fp1"num1.txt","r");*=fopen
	FILE (fp2"num2.txt","r");*=fopen
	FILE (fp3"num3.txt","w");if(==
	
	NULL||fp1==NULL||fp2==NULL)fp3printf("cannot open file\n"
	{
		);return0;
		} int[
	1000
	
	] num;int=0
	; countwhile(!
	
	feof())fscanffp1(,
	{
		"%d",fp1&[])num;count++;}
		countwhile(
	!
	feof())fscanffp2(,
	{
		"%d",fp2&[])num;count++;}
		countint=
	0
	
	; tempfor(int
	= 0; i < -1 i ; count++)for (iint
	{
		= 0; j < -1 j - count;++)i if (j[
		{
			] [num+j1>num]j)=[+
			{
				temp1num]j;[+1
				num]j=[];num[j]=
				num;j}}temp}
			int
		=
	0

	
	; indexwhile(<
	)fprintfindex(count,
	{
		"%d ",fp3[])num;index++;}
		indexfclose(
	)
	
	;fclosefp1()
	;fclosefp2()
	;printffp3("ok\n"
	
	);}#include

#

2、统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果,查找并替换此英文文本文件中某字符串。

include# 
includevoid 
strreplace( 
char *,char * Src,char * From); int Tomain(
int ,charconst argc* [ ] )argv//统计一个英文文本文件中26个英文字母出现次数并按英文字母序输出统计结果//	打开文件 *
{
	,
*
	FILE ;f=fopentf(
	f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} //	利用ascii码进行字母统计 int
	[
	
26
 
	] character_num=0,}{;char[1000
	] str;char[80
	] temp;int=0
	; awhile(!
	feof())fgetsf(, {
		80,temp);strcatf(,
		);str}tempint=
	strlen

	( n);forstr(int
	= 0; i < ;++ i ) nif (iisalpha
	{
		( [])str)itolower([
		{
			])str;i[([
			character_num]-str97i)]++;}}//	输出统计结果 
		char
	=
'a'
	; characterprintf("the result:\n"
	);for(int
	= 0; i < 26; i ++ )printf (i"%c:%d "
	{
		,,[]character)character_num;i++;if
		character((
		+ 1)i%5==0)printf("\n"
		{
			);}}fclose
		(
	)

	;fclosef()
    ;// 查找并替换此英文文本文件中某字符串tfchar[

1024

	] buf=0},{[20]from,[20]to;printf("Input string you shall find:"

	);scanf("%s"
    ,);printffrom("Input string you shall replace to:" 
    );scanf("%s"
    ,);// 把替换的串重新从English.txt读出、写入新文件temp.txtto=fopen

(
    
   
    f"English.txt","r+");=fopen(
	tf"temp.txt","w+");if(==
	NULL||f==NULL)tfprintf("cannot open file\n"
	{
		);return0;
		} while(
	!

     feof())fgetsf(,
    {
        sizeof(buf),)buf;strreplacef(,
        ,)buf;from//每一行都查找、替换目标串tofputs(  ,
        );bufmemsettf(,
        0,bufsizeof());buf}fclose(
     )

    ;fclosef()
    ;//     // 把temp.txt内容写回English.txttf//    f=fopen("English.txt","w+");//	tf=fopen("temp.txt","r+");
    

//	if(f==NULL||tf==NULL)
//		printf("cannot open file\n");
//		return 0;
//	}
//	{
//
//     while(!feof(tf))
//    {        
//    	fgets(buf,sizeof(buf),tf);
//        fputs(buf,f); 
//        memset(buf,0,sizeof(buf));
//    }    
//
//    fclose(f);
//    fclose(tf);
printf
(
"ok"
	);return0; 
	} //自定义的字符串替换函数(所有出现的匹配串都替换为目标串)void
strreplace

(
char *,char * Src,char * From)int , To;{
     char length_to*length_from,
     * ,sf[1024se]endBuf=0};{=strlen(
     length_from ) ;=Fromstrlen(
     length_to ) ;/*
1.C 库函数 char *strstr(const char *haystack, const char *needle) 
在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 'while';
2.C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。
是把第二个字符串覆盖到第一个字符串上
3.C 库函数 void *memset(void *str, int c, size_t n) 
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
4.C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 
从存储区 str2 复制 n 个字节到存储区 str1,覆盖原有部分数据
*/To(=
strstr 
     (,sf ) )//     	 sf获得目标字符串的首地址 SrcifFrom(=={
NULL
         )breaksf ; else//         	se获得末尾地址 ,也就是目标字符串后面字符的首地址 
             =+
         ;
         {
strcpy
             se ( sf , length_from)
             ;//             重置se endBufmemsetse(,
0
             ,strlense());//             正式替换字符串 endBufmemcpy(,
,
             );sfmemcpyTo(length_to+,
             ,strlensf(length_to)endBuf);//             重置endBuf endBufmemset(,
0
             ,strlenendBuf());}endBuf}}
         
     
    
 

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

原文地址: http://outofmemory.cn/langs/1295092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存