千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,十位数字上的值小于等于个位数字上的值,并且此四位数是偶数,则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cnt
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 ------------------------- void jsVal() {int I,j;
int a1,a2,a3,a4,k;
for (I=0;I {a1=a[I]/1000; a2=a[I]00/100; a3=a[I]0/10; a4=a[I]; if ((a1<=a2)&&(a2<=a3)&&(a3<=a4)&&(a[I]%2==0)) {b[cnt]=a[I]; cnt++;} } for(I=0;I if (b[I]>b[j]) {k=b[I];b[I]=b[j];b[j]=k;} } 数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。 ----------------------- void StrCharJR(void) {int I,j,strl; for(I=0;I {strl=strlen(xx[I]); for(j=0;j } 注:这个编程题比二级考得还简单。 void StrCharJR(void) {int i,j; for(i=0;i 题目17:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格. 注意:部分源程序已给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。 ----------------------- void ChA(void) {int I,j,k,str; char ch; for(I=0;I for(j=0;j xx[I][str-1]+=ch; for(j=0,k=str-1;j xx[I][k]=ch;} } } 题目18:函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。 替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。 注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 ------------------------------ void encryptChar() {int I; char *pf; for(I=0;I while(*pf!=0) {if(*pf%2==0||*pf*11%6<=32) ; else *pf=*pf*11%6; pf++; } } } 题目19:编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为\asasdfg asd as zx67 asd mklo\子字符串为\,函数返回值为6。 函数readwriteDat()的功能是实现从文件in.dat中读取两个字符穿4,并调用函数findstr(),最后把结果输出到文件out.dat中。 注意:部分源程序已给出。 请勿改动主函数main()和函数ReadWrite()的内容。 ----------------------- int findStr(char *str,char *substr) { int n; char *p , *r; n=0; while ( *str ) { p=str; r=substr; while(*r) if(*r==*p) { r++; p++; } else break; if(*r=='\\0') n++; str++; } return n; } 题目20:编写函数jsvalue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 最后调用函数writeDat()读取10个数据t,分别得出结果且把结果输出到文件out.dat中。 例如:当t=1000时,函数值为:1597。 注意:部分源程序已给出。 请勿改动主函数main()和写函数writeDat()的内容。 ----------------------- int jsValue(int t) { int f1=0,f2=1,fn; fn=f1+f2; while(fn<=t) {f1=f2; f2=fn; fn=f1+f2;} return fn; } 题目21:下列程序的功能是:利用发下所示的简单迭代方法求方程: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()的内容。 ----------------------------- float countValue() {float x0,x1=0.0; while(1) {x0=x1; x1=cos(x0); if(fabs(x0-x1)<1e-6) break; } return x1; } 题目22:请编写函数countvalue(),它的功能是:求n以内(不包括n)同时能被3和7整数的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。 例如若n为1000时,函数值应为:s=153.909064。 注意:部分源程序已给出。 请勿改动主函数main()和输入输出数据函数progreadwrite()的内容。 ---------------------------- double countValue(int n) {double xy=0.0; int I; for(I=1;I if(I%3==0&&I%7==0) xy+=I; xy=sqrt((double)xy);