- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012年3月三级网络上机预测题(背诵).doc
1、程序设计题
将文件IN.DAT中的200个整数读至数组xx中。请编制jsValue()函数,要求:求出数组xx中的数值为奇数的个数cnt1和数值为偶数的个数cnt2以及数组xx下标为偶数(包括下标为0的元素)的元素值的算术平均值pj。结果cnt1,cnt2,pj输出到OUT.DAT中。
注意:部分源程序存在文件PROG1.C文件中。请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数read_dat()和输出函数writeDat()的内容。
【试题程序】
#include stdio.h
#define N 200
int cnt1,cnt2,xx[N];
float pj; /* 平均值 */
void writeDat();
void jsValue()
{
}
void read_dat(int xx[N])
{
int i,j;
FILE *fp;
fp=fopen(in.dat,r);
for(i=0;i20;i++){
for(j=0;j10;j++){
fscanf(fp,%d,,xx[i*10+j]);
printf(%d ,xx[i*10+j]);
}
printf(\n);
}
fclose(fp);
}
void main()
{
read_dat(xx);
jsValue();
printf(\n\ncnt1=%d,cnt2=%d,pj=%6.2f\n,cnt1,cnt2,pj);
writeDat();
}
void writeDat()
{
FILE *fw;
fw=fopen(out.dat,w);
fprintf(fw,%d\n%d\n%6.2f\n,cnt1,cnt2,pj);
fclose(fw);
}
【解题思路】本题要求统计数组中奇数和偶数的个数并求下标为偶数的元素值的平均值。依照题意,应该依次取得每个已知数,按奇偶数统计个数,若是奇数则计数器变量cnt1加1,否则cnt2加1,同时下标为偶数的参与计算平均值pj。
【参考答案】
void jsValue()
{ int i; /* 定义变量 */
for(i=0;iN;i++) /* 统计求和 */
{ if(xx[i]%2==1) cnt1++;
else cnt2++;
if(i%2==0) pj+=xx[i];
}
pj/=(N/2); /* 求平均值 */
}
2、程序设计题
已知文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及所有不满足此条件的四位数平均值pjz2。最后main()函数调用写函数writeDat()把结果cnt,pjz1,pjz2输出到OUT.DAT文件。
例如: 5591是素数,则该数满足条件,参加计算平均值pjz1,且个数cnt=cnt+1。
9812是非素数,则该数不满足条件,参加计算平均值pjz2。
注意:部分源程序存在文件PROG1.C文件中。程序中已定义数组:a[300],已定义变量:cnt,pjz1,pjz2。请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
【试题程序】
#include stdio.h
int a[300],cnt=0;
double pjz1=0.0,pjz2=0.0;
void writeDat();
void readDat();
int isP(int m)
{
int i;
for(i=2;im;i++)
if(m%i==0) return 0;
return 1;
}
void jsValue()
{
}
main()
{
readDat();
jsValue();
writeDat();
printf(cnt=%d\n满足条件的平均值pzj1=%7.2lf\n不满足条件的平均值pzj2=%7.2lf\n,cnt,pjz1,pjz2);
}
void readDat()
{
FILE *fp;
int i;
fp=fopen(in.dat,r);
for(i=
文档评论(0)