薄观约取 厚积薄发 断点-影子
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include
unsigned char xx[50][80];
int maxline=0;/*文章的总行数*/ int ReadDat(void); void WriteDat(void); void encryptChar() { int i,j;
for(i=0;i for(j=0;j if(xx[i][j]*11%6<=32||xx[i][j]%2==0) continue; else xx[i][j]=xx[i][j]*11%6; } void main() { clrscr(); if(ReadDat()){ printf(\数据文件ENG.IN不能打开!\\n\\007\return; } encryptChar(); WriteDat(); } int ReadDat(void) { FILE *fp; int i=0; unsigned char *p; if((fp=fopen(\while(fgets(xx[i],80,fp)!=NULL){ p=strchr(xx[i],'\\n'); if(p)*p=0; i++; } maxline=i; fclose(fp); return 0; } void WriteDat(void) { 断点亡魂 薄观约取 厚积薄发 断点-影子 FILE *fp; int i; fp=fopen(\for(i=0;i fclose(fp); } ****************************************************************************** ☆题目19(单词个数统计题) 编写一个函数findStr(char *str,char *substr),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为\asasdfg asd as zx67 asd mklo\,子字符串为\,函数返回值是6。 函数ReadWrite()实现从文件in.dat中读取两个字符串,并调用函数findStr(),最后把结果输出到文件out.dat中。 注意:部分源程序存在文件prog1.c中。 请勿改动主函数main()和其它函数中的任何内容,仅在函数findStr()的花括号中填入你编写的若干语句。 #include int findStr(char *str,char *substr) { int i,j,len1,len2,cnt=0,flag; len1=strlen(str); len2=strlen(substr); for(i=0;i { for(j=0;j if(str[i+j]==substr[j]) flag=1; else {flag=0;break;} if(flag==1) cnt++; } return cnt; } main() { char str[81], substr[3] ; int n ; clrscr() ; printf(\输入原字符串:\gets(str) ; printf(\输入子字符串:\gets(substr) ; 断点亡魂 薄观约取 厚积薄发 断点-影子 puts(str) ; puts(substr) ; n=findStr(str, substr) ; printf(\ReadWrite() ; } ReadWrite() { char str[81], substr[3], ch; int n, len, i = 0; FILE *rf, *wf ; rf = fopen(\wf = fopen(\while(i < 25) { fgets(str, 80, rf) ; fgets(substr, 10, rf) ; len = strlen(substr) - 1 ; ch = substr[len] ; if(ch == '\\n' || ch == 0x1a) substr[len] = 0 ; n=findStr(str, substr); fprintf(wf, \ i++ ; } fclose(rf) ; fclose(wf) ; } **************************************************************************** ★题目20(Fibonacci数列题) 编写函数jsValue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。 例如:当t=1000时,函数值为:1597。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和写函数writeDat()的内容。 #include 断点亡魂 薄观约取 厚积薄发 断点-影子 f1=fn; fn=f0+f1; } return fn; } main() { int n; n=1000; printf(\writeDat(); } writeDat() { FILE *in,*out; int i,n,s; in=fopen(\out=fopen(\for(i=0;i<50;i++){ fscanf(in,\s=jsValue(n); printf(\ fprintf(out,\} fclose(in); fclose(out); } ☆题目21(迭代方法求方程题) 下列程序prog1.c的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。 Xn+1=cos(Xn) 迭代步骤如下: (1)取X1初值为0.0; (2)X0=X1,把X1的值赋给X0; (3)X1=cos(X0),求出一个新的X1; (4)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2); (5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。 请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果输出到文件OUT17.DAT中。 部分源程序已给出。 断点亡魂 薄观约取 厚积薄发 断点-影子 请勿改动主函数main()和输出数据函数writeDat()的内容。 #include x1=cos(x0); }while(fabs(x0-x1)>=0.000001); return x1; } main() { clrscr(); printf(\实根=%f\\n\ printf(\writeDat(); } writeDat() { FILE *wf; wf=fopen(\ fprintf(wf,\fclose(wf); } 注:本题在无忧或捷成模拟盘中,需定义double x0,x1;才能通过,据实际上机抽到该题的考生反映,实际上机需按上面解法的定义方能通过,特此说明,供参考。 **************************************************************************** ★题目22(平方根问题) 请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。 例如若n为1000时,函数值应为:s=153.909064。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输入输出数据函数progReadWrite()的内容。 #include double countValue(int n) { int i; double s=0.0; 断点亡魂