![]() ![]() |
|
2001年9月机试试题 | |
作者:佚名 文章来源:不详 点击数 更新时间:2007/12/21 18:22:22 文章录入:杜斌 责任编辑:杜斌 | |
|
|
1./*prog1 已知数据文件 in.dat中存有500个三位数,并已调用读函数readdat()把 这些数存入数组a中,请考生编制一函数jsvalue(),其功能是:要求得出这些数的 最大10个不重复的素数,且以从小到大的顺序依次存入数组b中,最后调用写函数 writedat()把数组b中的10个三位数输出到out.dat文件。 注意:部分源程序存在文件prog1.c文件中。 程序已定义数组:a[500],b[10] 请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readdat()和写函 数writedat()的内容。*/ #include <stdio.h> int a[500], b[10] ; int isp(int m) { int i ; for(i = 2 ; i < m ; i++) if(m % i == 0) return 0 ; return 1 ; } void jsvalue() { } main() { int i ; readdat() ; jsvalue() ; writedat() ; for(i = 0 ; i < 10 ; i++) printf("b[%d]=%d/n", i, b[i]) ; } readdat() { file *fp ; int i ; fp = fopen("in.dat","r") ; for(i = 0 ; i < 500 ; i++) fscanf(fp, "%d,", &a[i]) ; fclose(fp) ; } writedat() { file *fp ; int i ; fp = fopen("out.dat","w") ; for(i = 0 ; i < 10 ; i++) fprintf(fp, "%d/n", b[i]) ; fclose(fp) ; } 2./*prog2 已知数据文件in.dat中存有500个三位数,并已调用读函数readdat() 把这些数存入数组a中,请考生编制一函数jsvalue(),其功能是:要求得出这些 数的末位数字是偶数的最大10个不重复的三位数,且以从小到大的顺序依次存入 数组b 中,最后调用写函数writedat()把数组b中的10个三位数输出到out.dat文件。 注意:部分源程序存在文件prog1.c文件中。 程序已定义数组:a[500],b[10] 请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readdat()和写函 数writedat()的内容。*/ #include <stdio.h> int a[500], b[10] ; void jsvalue() { } main() { int i ; readdat() ; jsvalue() ; writedat() ; for(i = 0 ; i < 10 ; i++) printf("b[%d]=%d/n", i, b[i]) ; } readdat() { file *fp ; int i ; fp = fopen("in.dat","r") ; for(i = 0 ; i < 500 ; i++) fscanf(fp, "%d,", &a[i]) ; fclose(fp) ; } writedat() { file *fp ; int i ; fp = fopen("out.dat","w") ; for(i = 0 ; i < 10 ; i++) fprintf(fp, "%d/n", b[i]) ; fclose(fp) ; } 3./*prog3 已知数据文件in.dat中存有500个三位数,并已调用读函数readdat()把 这些数存入数组a中,请考生编制一函数jsvalue(),其功能是:要求得出这些数 |
|
![]() ![]() |