《全国计算机等级考试三级c语言上机100题复习资料》由会员分享,可在线阅读,更多相关《全国计算机等级考试三级c语言上机100题复习资料(45页珍藏版)》请在金锄头文库上搜索。
1、全国计算机等级考试三级C语言上机100题一.排序类:1.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main
2、()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;iMAX;i+)t=ai;if(t%2+t/10%2+t/100%2+t/1000%2=0)bcnt+=t;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)t=bi;bi=bj;bj=t;void readDat() int i ; FILE *fp ; fp = fopen(in.dat, r) ; for(i = 0 ; i MA
3、X ; i+) fscanf(fp, %d, &ai) ; fclose(fp) ;void main() int i ; readDat() ; jsVal() ; printf(满足条件的数=%dn, cnt) ; for(i = 0 ; i cnt ; i+) printf(%d , bi) ; printf(n) ; writeDat() ;writeDat() FILE *fp ; int i ; fp = fopen(out.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi)
4、; fclose(fp) ;2. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数
5、writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;iMAX;i+)t=ai;if(t%2+t/10%2+t/100%2+t/1000%2=4)bcnt+=t;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)t=bi;bi=bj;bj=t;void readDat() int i ; FILE *fp ; fp = fopen(in.dat, r) ; for(i = 0 ; i MAX ; i+) fscanf(fp,
6、%d, &ai) ; fclose(fp) ;void main() int i ; readDat() ; jsVal() ; printf(满足条件的数=%dn, cnt) ; for(i = 0 ; i cnt ; i+) printf(%d , bi) ; printf(n) ; writeDat() ;writeDat() FILE *fp ; int i ; fp = fopen(out.dat, w) ; fprintf(fp, %dn, cnt) ; for(i = 0 ; i cnt ; i+) fprintf(fp, %dn, bi) ; fclose(fp) ;3. 已知
7、数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()
8、、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;iai+1&aiai+2&aiai+3&aiai+4&aiai+5&ai%2=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jbj)t=bi;bi=bj;bj=t;4. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该
9、四位数连续大于该四位数以前的五个数且该数是偶数(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void js
10、Val()int i,j,t;for(i=5;iai-1&aiai-2&aiai-3&aiai-4&aiai-5&ai%2=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)t=bi;bi=bj;bj=t;5. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数
11、组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;iai+1&aiai+2&aiai+3&aiai+4&aiai+5&ai%2=1)bcnt+=ai;fo
12、r(i=0;icnt-1;i+)for(j=i+1;jbj)t=bi;bi=bj;bj=t;6. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是奇数,且该数必须能被7整除(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal() int i,j,t;for(i=5;iai-1&aiai-2&aiai-3&aia