方差totfc的值,最后调用函数WriteDat()把结果输出到OUT61.DAT文件中。 计算方差的公式如下:
原始数据的存放格式是:每行存放10个数,并用逗号隔开(每个数均大于0且小于等于2 000)。
注意:部分源程序已给出。请勿改动主函数main()和写函数WriteDat()的内容。 【参考答案】
void Compute(void) {
int i,yy[MAX]; for(i=0;i<1000;i++) {
if(xx[i]%2!=0) odd++; /*求数组xx中奇数的个数*/
else even++; /*求数组xx中偶数的个数*/ aver+=xx[i]; /*求数组xx中所有元素的总和*/ }
aver/=MAX; /*求数组xx中所有元素的平均值*/ for(i=0;i<1000;i++)
totfc+=(xx[i]-aver)*(xx[i]-aver)/MAX; /*计算所有元素的方差*/ }
62.下列程序的功能是:将一正整数序列{K1,K2,?,K9}重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K1向右扫描。要求编写函数jsValue()实现此功能,最后调用函数writeDat()把新序列输出到文件OUT62.DAT中。
说明:在程序中已给出了10个序列,每个序列中有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。
例如:序列排序前{6,8,9,1,2,5,4,7,3} 序列排序后{3,4,5,2,1,6,8,9,7}
注意:部分源程序已给出。请勿改动主函数main()和写函数writeDat()的内容。 【参考答案】
void jsValue(int a[10][9]) {
int value,i,j,k,num; for(i=0;i<10;i++) {
value=a[i][0]; /*将每一行的第一个元素赋给value*/ for(j=0;j<9;j++)
if(a[i][j] num=a[i][j]; /*则把这个数取出,赋给num*/ for(k=j;k>0;k--) /*将这个数据左侧的数依次向右移动*/ a[i][k]=a[i][k-1]; a[i][0]=num; /*再将这个数放在最左侧*/ } } } 63.函数ReadDat()的功能是实现从文件ENG63.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS63.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或大于128,则该字符不变,否则将f(p)所对应的字符进行替代。 注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 【参考答案】 void encryptChar() { int i; char *pf; for(i=0;i pf=xx[i]; /*指针pf指向各行的首地址*/ while(*pf!=0) { if(*pf*11%6>128||*pf*11%6<=32);/*如果计算后的值小于等于32或大于130,则该字符不变*/ else *pf=*pf*11%6; /*否则将所对应的字符进行替代*/ pf++; /*指针pf指向下一个字符*/ } } } 64.函数ReadDat()的功能是实现从文件ENG64.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()把结果xx输出到文件PS64.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCii值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32或大于128,则该字符不变,否则将f(p)所对应的字符进行替代。 注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读函数ReadDat()和写函数WriteDAT()的内容。 【参考答案】 void encryptChar() { int i,j; int p; for(i=0;i for(j=0;j<(int)strlen(xx[i]);j++) { p=(xx[i][j]*11)%6; if(p<=32||xx[i][j]%2==0||p>128); else xx[i][j]=p; } } 65.函数ReadDat()的功能是实现从文件ENG65.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()把结果xx输出到文件PS65.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9或大于128,则该字符不变,否则将f(p)所对应的字符进行替代。 注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 【参考答案】 void encryptChar() { int i; char *pf; for(i=0;i pf=xx[i]; /*指针pf指向该行第一个字符*/ while(*pf!=0) { if(((*pf)*11%6>='0'&&(*pf)*11%6<='9')||(*pf)*11%6<=32||(*pf)*11%6>128) { pf++; continue; } *pf=*pf*11%6; /*否则将所对应的字符进行替代*/ pf++; /*指向下一个字符*/ } } } 66.函数ReadDat()的功能是实现从文件ENG66.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()把结果xx输出到文件PS66.DAT中。 替代关系:f(p)=p*11mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母或f(p)得值大于128,则该字符不变,否则将f(p)所对应的字符进行替代。 注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 【参考答案】 void encryptChar() { int i; char *pf; for(i=0;i pf=xx[i]; /*指针pf指向该行第一个字符*/ while(*pf!=0) { if((*pf*11%6>='a'&&*pf*11%6<='z')||*pf*11%6<=32||*pf*11%6>128) { pf++; continue; } *pf=*pf*11%6; /*否则将所对应的字符进行替代*/ pf++; /*指向下一个字符*/ } } } 67.函数ReadDat()的功能是实现从文件ENG67.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS67.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或f(p)对应的字符是大写字母或f(p)的值大于128,则该字符不变,否则将f(p)所对应的字符进行替代。 注意:部分源程序已给出。原始数据文件的存放格式是每行的宽度均小于80个字符。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 【参考答案】 void encryChar() { int i; char *pf; for(i=0;i pf=xx[i]; /*指针pf指向该行第一个字符*/ while(*pf!=0) { if((*pf*11%6>='A'&&*pf*11%6<='Z')||*pf*11%6<=32||*pf*11%6>128) { pf++; continue; } *pf=*pf*11%6; /*否则用新字符取代原有字符*/ pf++; /*指向下一个字符*/ } } } 68.函数ReadDat()的功能是实现从文件ENG68.IN中读取一篇英文文章,存入到字符串数组