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
13、中。 程序中已定义数组: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&aiai-4&aiai-5&ai%2=1&ai%7=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bi=0且ab-cd=10且两个数均是奇数,同时两个新数的十位
14、数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数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,ab
15、,cd;for(i=0;i= 0 & ab - cd = 10 &ab%2 & cd % 2 &abi/10!=0 & cd/10!=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bi=10且ab-cd=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。 注意:部分源程序存在文献prog1.c中。 程序中已定义数组:a200,
16、b200,已定义变量:cnt 请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal() int i,j,t,ab,cd;for(i=0;i= 10 & ab - cd = 20 &ab%2=0 & cd % 2=0 &ai/10!=0 & ai/10!=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)t=bi;bi=bj;bj=t;9. 已知数据文
17、献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),假如新组成的两个十位数abcd,ab必须是奇数且不能被5整除,cd必须是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最
18、后main()函数调用写函数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,ab,cd;for(i=0;iMAX;i+)ab=ai/1000*10+ai/10%10;cd=ai%10*10+a
19、i/100%10;if(ab -cd & ab%2=1 &ab%5!=0& cd % 2=0 &ab/10!=0 & cd/10!=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bicd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。 注意:部分源程序存在文献prog1.c中。 程序中已定义数组:a2
20、00,b200,已定义变量:cnt 请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t,ab,cd;for(i=0;icd& ab%2=0 &ab%5=0 & cd % 2=1 &ab/10!=0 & cd/10!=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)t=bi;bi=bj;bj=t;11. 已知数据文献IN.DA
21、T中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),假如新组成的两个十位数均是素数且新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符
22、合条件的四位数输出到OUT.DAT文献中。 注意:部分源程序存在文献prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, 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()int i,j,t;for(t=0;tMAX;t+)i=at/10
23、00*10+at/10%10;j=at%10*10+at/100%10;if(isprime(i)&isprime(j) & at/1000 & at%10!=0)bcnt+=at;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)t=bi;bi=bj;bj=t;12.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字),以及把百位数字和十位数字
24、组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),假如新组成的两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。 注意:部分源程序存在文献prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数read
25、Dat()和写函数writeDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t,ab,cd;for(i=0;iMAX;i+)ab=ai/1000*10+ai%10;cd=ai/100*10+ai/10%10;if(ab%2=1 &cd%2=1&(ab%5=0 |cd%5=0)& ab/10!=0 & cd/10!=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)t=bi;bi=bj;bj=t;13.已知数据文献IN.DAT中存
26、有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),假如新组成的两个十位数均是偶数并且两个十位数中至少有一个数能被9整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数wri
27、teDat( )把结果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,ab,cd;for(i=0;iMAX;i+)ab=ai%10*10+ai/1000;cd=ai/100%10*10+ai/10%10;if(ab%2
28、=0&cd%2=0&(ab%9=0 |cd%9=0)& ab/10!=0 & cd/10!=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)t=bi;bi=bj;bj=t;14.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位
29、数的个位数字是原四位数的十位数字),假如新组成的两个十位数必须是一个奇数,另一个为偶数并且两个十位数中至少有一个数能被17整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。 注意:部分源程序存在文献prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。#
30、include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t,ab,cd;for(i=0;iMAX;i+)ab=ai%10*10+ai/1000;cd=ai/100*10+ai/10%10;if( (ab%2=1&cd%2=0)|(ab%2=0&cd%2=1)& (ab%17=0 |cd%17=0)& ab/10!=0 & cd/10!=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj)t=bi;bi=bj;bj=t;15. 已知数据文献IN.DAT中存有2
31、00个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且原四位数是偶数,则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。 注意:部分源程序存在文献prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数wri
32、teDat()的内容。#include #define MAX 200int aMAX, bMAX, cnt = 0 ;void jsVal()int i,j,t;for(i=0;i200;i+)if(ai/1000+ai/10%10=ai/100%10+ai%10&ai%2=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jbj)t=bi;bi=bj;bj=t;16.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值减去百位数字上的值再减去十位
33、数字上的值最后减去个位数字上的值,假如得出的值大于等于零且原四位数是奇数,则记录出满足此条件的个数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()i
34、nt i,j,t;for(i=0;i=0&ai%2=1)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jbj)t=bi;bi=bj;bj=t;17. 已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,假如得出的值大于等于零且原四位数是偶数,则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数
35、输出到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;i=0&ai%2=0)bcnt+=ai;for(i=0;icnt-1;i+)for(j=i+1;jbj)t=bi;bi=bj;bj=t;18.已知数据文献IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则记录出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文献中。 注意:部分源程序存在文献prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt 请勿改动数据文献IN.DAT中的任何数据、主函数main()、读函数readDa
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100