考试辅导

名师推荐

试听名师的课 查看所有名师

计算机等级考试三级网络技术上机考前必看5 发布时间:2010-09-21 17:47 来源:互联网

计算机等级考试三级网络技术上机考前必看5

第一考试网整理了计算机等级考试三级网络技术上机考前必看

计算机等级考试三级网络技术上机考前必看(5)

试题五:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数 (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数均是素数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意: 部分源程序存在文件PROG1.C文件中。

程序中已定义数组: a[200], b[200], 已定义变量: cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

-------------------------

PROG1.C

#include

#define MAX 200

int a[MAX], b[MAX], cnt = 0;

int isprime(int m)

{int i;

for(i=2;i<=m/2;i++)

if(m%i==0) return 0;

return 1;

}

void jsVal()

{

}

void readDat()

{ int i ;

FILE *fp ;

fp = fopen("in.dat", "r") ;

for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;

fclose(fp) ;

}

void main()

{ int i ;

readDat() ;

jsVal() ;

printf("满足条件的数=%d\n", cnt) ;

for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;

printf("\n") ;

writeDat() ;

system("pause");

}

writeDat()

{ FILE *fp ;

int i ;

fp = fopen("out.dat", "w") ;

fprintf(fp, "%d\n", cnt) ;

for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;

fclose(fp) ;

}

/*标准答案*/

void jsVal()

{int I,thou,hun,ten,data,j;

int ab,cd;

for(I=0;I<200;I++)

{thou=a[I]/1000; hun=a[I]%1000/100;

ten=a[I]%100/10; data=a[I]%10;

ab=10*thou+ten; cd=10*data+hun;

if (isprime(ab)&&isprime(cd)&&ab!=0&&cd!=0)

{b[cnt]=a[I];cnt++;}

}

for(I=0;I

for(j=I+1;j

if(b[I]

{data=b[I];b[I]=b[j];b[j]=data;}

}

第一考试网友情提示:如果您遇到任何疑问,请登录第一考试网考试辅导频道或添加qq:,第一考试网以“为考友服务”为宗旨,秉承“快乐学习,轻松考试!”的理念,旨在为广大考友打造一个良好、温馨的学习与交流平台,欢迎持续关注。以上是小编为大家推荐的《计算机等级考试三级网络技术上机考前必看5》相关信息。

编辑推荐

计算机等级考试辅导:SQL中JOB的运行状态

计算机等级考试辅导:SQLSERVER2005的引用

三级:把数据导入不同的表空间

2009年三级信息管理技术辅导:战略数据规划

教你三种方法卸载Windows7SP1Beta