推荐给好友 上一篇:计算机等级考试四级笔试试卷及答案(一)   下一篇:全国计算机等级考试四级试题(四)

全国计算机四级等级考试上机题

1、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:将第1个数与第200个数进行比较,若两数不等,则取较大者作为下列统计用的符合条件数,若两数相等,则不作为符合条件数;将第2个数与第199个数进行比较,若两数不等,则同样取较大者,若两数相等,则同样不作为符合条件数;直至第100个数与第101个数比较为止,接着计算出这些符合条件数中的最小值min、最大值max以及这些符合条件数的平均值aver。最后main()函数调用写函数writeDat()把结果输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、min、max、aver
请勿改动数据文件IN.DAT中的任何数据、主函数main()、
读函数readDat()和写函数writeDat()的内容。

*/#include
#defineMAX200inta[MAX],min,max;doubleaver;
voidjsVal()
{
intb[MAX/2],i,n=0;
for(i=0;i<MAX/2;i)
if(a[i]!=a[MAX-i-1])
b[n]=a[i]>a[MAX-i-1]?a[i]:a[MAX-i-1];
max=min=b[0];aver=b[0];
for(i=1;i<n;i)
{aver=b[i];
if(b[i]>max)max=b[i];elseif(b[i]<min)min=b[i];
}
aver=aver/n;/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
readDat();
jsVal();
printf("结果min=%d,max=%d,aver=%6.2lf\n",min,max,aver);
writeDat();}writeDat(){
FILE*fp;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n%d\n%6.2lf\n",min,max,aver);
fclose(fp);}
2、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次取每20个数中的最小值组成一个数,这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、b[10]
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX],b[10];voidjsVal(){/**/
inti,j,k=0,t;
for(i=0;i<10;i)
{b[i]=a[k];
for(j=1;j<20;j,k)
if(b[i]>a[k])b[i]=a[k];
}
for(i=0;i<9;i)
{k=i;
for(j=i1;j<10;j)
if(b[j]>b[k])k=j;
if(k!=i){t=b[i];b[i]=b[k];b[k]=t;}
}/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
inti;
readDat();
jsVal();
for(i=0;i<10;i)
printf("b[%d]=%d\n",i,b[i]);
writeDat();}writeDat(){
FILE*fp;
inti;
fp=fopen("out.dat","w");
for(i=0;i<10;i)fprintf(fp,"%d\n",b[i]);
fclose(fp);}


3、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:将第1个数减第200个数,若差值大于零,则取差值作为下列统计用的符合条件数,若差值小于等于零,则差值不作为符合条件数;将第2个数减第199个数,若差值大于零,则同样取差值,若差值小于等于零,则差值同样不作为符合条件数;直至第100个数减第101个数为止,接着统计出这些符合条件数中的最大5个不重复的数按从大到小顺序存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、b[5]
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX],b[5];voidjsVal(){/**/
intt[MAX/2],i,j,k=0,tt;
for(i=0;i<MAX/2;i)
{tt=a[i]-a[MAX-i-1];
if(tt>0)t[k]=tt;
}
for(i=0;i<5;i)b[i]=0;
for(i=0;i<k;i)
if(b[0]<t[i])b[0]=t[i];
for(j=1;j<5;j)
for(i=0;i<k;i)
if(t[i]>b[j]&&t[i]<b[j-1])b[j]=t[i];/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
inti;
readDat();
jsVal();
for(i=0;i<5;i)
printf("b[%d]=%d\n",i,b[i]);
writeDat();}writeDat(){
FILE*fp;
inti;
fp=fopen("out.dat","w");
for(i=0;i<5;i)fprintf(fp,"%d\n",b[i]);
fclose(fp);}

4、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次每20个数的平均值组成一个新数,这样可以获得10个新数并存入数组b中,接着把数组b中的数按从小到大的顺序重新存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、b[10]
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX];doubleb[10];voidjsVal(){/**/
inti,j,k=0;
doublet;
for(i=0;i<10;i)
{b[i]=a[k];
for(j=1;j<20;j)
b[i]=a[k];
b[i]/=20;
}
for(i=0;i<9;i)
{k=i;
for(j=i1;j<10;j)
if(b[k]>b[j])k=j;
if(k!=i)
{t=b[k];b[k]=b[i];b[i]=t;}
}/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
inti;
readDat();
jsVal();
for(i=0;i<10;i)
printf("b[%d]=%7.2lf\n",i,b[i]);
writeDat();}writeDat(){
FILE*fp;
inti;
fp=fopen("out.dat","w");
for(i=0;i<10;i)fprintf(fp,"%7.2lf\n",b[i]);
fclose(fp);}


5、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:将第1个数减第200个数,若差值小于零,则取差值的绝对值作为下列统计用的符合条件数,若差值大于等于零,则差值不作为符合条件数;将第2个数减第199个数,若差值小于零,则同样取差值的绝对值,若差值大于等于零,则差值同样不作为符合条件数;直至第100个数减第101个数为止,接着计算出这些符合条件数中的最小值min、最大值max以及这些符合条件数的平均值aver。最后main()函数调用写函数writeDat()把结果输出到文件OUT.DAT中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、min、max、aver
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX],min,max;doubleaver;voidjsVal(){/**/
intb[MAX/2],t,i,k=0;
for(i=0;i<MAX/2;i)
{t=a[i]-a[MAX-i-1];
if(t<0)b[k]=-t;
}
max=min=b[0];aver=b[0];
for(i=1;i<k;i)
{aver=b[i];
if(max<b[i])max=b[i];elseif(min>b[i])min=b[i];
}
aver/=k;/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
readDat();
jsVal();
printf("结果min=%d,max=%d,aver=%6.2lf\n",min,max,aver);
writeDat();}writeDat(){
FILE*fp;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n%d\n%6.2lf\n",min,max,aver);
fclose(fp);}
6、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次取每20个数中的最小值组成一个数,这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、b[10]
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX],b[10];voidjsVal(){/**/
inti,j,k=0;
for(i=0;i<10;i)
{b[i]=a[k];
for(j=1;j<MAX/10;j,k)
if(b[i]>a[k])b[i]=a[k];
}

for(i=0;i<9;i)
for(j=i1;j<10;j)
if(b[i]<b[j])
{k=b[i];b[i]=b[j];b[j]=k;}/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
inti;
readDat();
jsVal();
for(i=0;i<10;i)
printf("b[%d]=%d\n",i,b[i]);
writeDat();}writeDat(){
FILE*fp;
inti;
fp=fopen("out.dat","w");
for(i=0;i<10;i)fprintf(fp,"%d\n",b[i]);
fclose(fp);}


7、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次每20个数的平均值组成一个新数,这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、b[10]
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX];doubleb[10];voidjsVal(){/**/
inti,j,k=0;doublet;
for(i=0;i<10;i)
{b[i]=a[k];
for(j=1;j<MAX/10;j)
b[i]=a[k];
b[i]/=MAX/10;
}
for(i=0;i<9;i)
{k=i;
for(j=i1;j<10;j)
if(b[k]<b[j])k=j;
if(k!=i)
{t=b[i];b[i]=b[k];b[k]=t;}
}/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
inti;
readDat();
jsVal();
for(i=0;i<10;i)
printf("b[%d]=%7.2lf\n",i,b[i]);
writeDat();}writeDat(){
FILE*fp;
inti;
fp=fopen("out.dat","w");
for(i=0;i<10;i)fprintf(fp,"%7.2lf\n",b[i]);
fclose(fp);}
8、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:将第1个数与第200个数进行比较,若两数不等,则取较小者作为下列统计用的符合条件数,若两数相等,则不作为符合条件数;将第2个数与第199个数进行比较,若两数不等,则同样取较小者,若两数相等,则同样不作为符合条件数;直至第100个数与第101个数比较为止,接着计算出这些符合条件数中的最小值min、最大值max以及这些符合条件数的平均值aver。最后main()函数调用写函数writeDat()把结果输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、min、max、aver
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX],min,max;doubleaver;voidjsVal(){/**/
inti,j,m,k=0;
min=9999;max=0;aver=0.0;
for(i=0;i<MAX/2;i)
if(a[i]!=a[MAX-i-1])
{k;m=a[i]>a[MAX-i-1]?a[MAX-i-1]:a[i];
aver=m;
if(max<m)max=m;elseif(min>m)min=m;
}
aver/=k;/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
readDat();
jsVal();
printf("结果min=%d,max=%d,aver=%6.2lf\n",min,max,aver);
writeDat();}writeDat(){
FILE*fp;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n%d\n%6.2lf\n",min,max,aver);
fclose(fp);}


9、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次每20个数的平均值组成一个新数,这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、b[10]
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX];doubleb[10];voidjsVal(){/**/
inti,j,k=0;doublet;
for(i=0;i<10;i)
{b[i]=a[k];
for(j=1;j<MAX/10;j)
b[i]=a[k];
b[i]/=MAX/10;
}
for(i=0;i<9;i)
{k=i;
for(j=i1;j<10;j)
if(b[k]<b[j])k=j;
if(k!=i)
{t=b[i];b[i]=b[k];b[k]=t;}
}/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
inti;
readDat();
jsVal();
for(i=0;i<10;i)
printf("b[%d]=%7.2lf\n",i,b[i]);
writeDat();}writeDat(){
FILE*fp;
inti;
fp=fopen("out.dat","w");
for(i=0;i<10;i)fprintf(fp,"%7.2lf\n",b[i]);
fclose(fp);}


10、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:将第1个数减第200个数,若差值小于零,则取差值的绝对值作为下列统计用的符合条件数,若差值大于等于零,则差值不作为符合条件数;将第2个数减第199个数,若差值小于零,则同样取差值的绝对值,若差值大于等于零,则差值同样不作为符合条件数;直至第100个数减第101个数为止,接着计算出这些符合条件数中的最小值min、最大值max以及这些符合条件数的平均值aver。最后main()函数调用写函数writeDat()把结果输出到文件OUT.DAT中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、min、max、aver
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX],min,max;doubleaver;voidjsVal(){/**/
inti,t,k=0;
max=0;min=10000;
aver=0.0;
for(i=0;i<MAX/2;i)
{t=a[i]-a[MAX-i-1];
if(t<0)
{t=-t;k;aver=t;
if(max<t)max=t;elseif(min>t)min=t;
}
}
aver/=k;/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
readDat();
jsVal();
printf("结果min=%d,max=%d,aver=%6.2lf\n",min,max,aver);
writeDat();}writeDat(){
FILE*fp;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n%d\n%6.2lf\n",min,max,aver);
fclose(fp);}
试题的in.dat内容如下:
4452175986349976750321015246678015186955
3466838317784777444333642262364933665528
6840722785909496351256382412590929758025
2359536835393559232253071757864588726227
4357837957159782820510633211220143072357
9703107655517158446255891137405134859751
8662213411908025106540599698809869278155
9476508863595573599356069624338021225129
9554709830708601720595519218208212844013
8447127564885778929078533538616754422097
1720829632507649822322504367881876964567
2856931683596136501260326291182770268704
4189739640882106391840198802608458901426
4261104125541599412446151566201028815854
9694691349275571212185765074741092483526
7614727380442410587296079017787118356878
6307571839491697803361586838917863205899
1363561147091560805162046920448861067848
1638546051607848303526681975453916971452
9266564492038847595361433889628083357988
1、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:将第1个数与第200个数进行比较,若两数不等,则取较大者作为下列统计用的符合条件数,若两数相等,则不作为符合条件数;将第2个数与第199个数进行比较,若两数不等,则同样取较大者,若两数相等,则同样不作为符合条件数;直至第100个数与第101个数比较为止,接着计算出这些符合条件数中的最小值min、最大值max以及这些符合条件数的平均值aver。最后main()函数调用写函数writeDat()把结果输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、min、max、aver
请勿改动数据文件IN.DAT中的任何数据、主函数main()、
读函数readDat()和写函数writeDat()的内容。

*/#include
#defineMAX200inta[MAX],min,max;doubleaver;
voidjsVal()
{
intb[MAX/2],i,n=0;
for(i=0;i<MAX/2;i)
if(a[i]!=a[MAX-i-1])
b[n]=a[i]>a[MAX-i-1]?a[i]:a[MAX-i-1];
max=min=b[0];aver=b[0];
for(i=1;i<n;i)
{aver=b[i];
if(b[i]>max)max=b[i];elseif(b[i]<min)min=b[i];
}
aver=aver/n;/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
readDat();
jsVal();
printf("结果min=%d,max=%d,aver=%6.2lf\n",min,max,aver);
writeDat();}writeDat(){
FILE*fp;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n%d\n%6.2lf\n",min,max,aver);
fclose(fp);}
2、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:从数组a的头开始,依次取每20个数中的最小值组成一个数,这样可以获得10个新数并存入数组b中,接着把数组b中的数按从大到小的顺序重新存入数组b中。最后main()函数调用写函数writeDat()把结果b输出到OUT.DAT文件中。
注意:部分源程序存在文件PROG1.C文件中。
程序中已定义:a[200]、b[10]
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。*/#include#defineMAX200inta[MAX],b[10];voidjsVal(){/**/
inti,j,k=0,t;
for(i=0;i<10;i)
{b[i]=a[k];
for(j=1;j<20;j,k)
if(b[i]>a[k])b[i]=a[k];
}
for(i=0;i<9;i)
{k=i;
for(j=i1;j<10;j)
if(b[j]>b[k])k=j;
if(k!=i){t=b[i];b[i]=b[k];b[k]=t;}
}/**/}voidreadDat(){
inti;
FILE*fp;
fp=fopen("in.dat","r");
for(i=0;i<MAX;i)fscanf(fp,"%d",&a[i]);
fclose(fp);}voidmain(){
inti;
readDat();
jsVal();
for(i=0;i<10;i)
printf("b[%d]=%d\n",i,b[i]);
writeDat();}writeDat(){
FILE*fp;
inti;
fp=fopen("out.dat","w");
for(i=0;i<10;i)fprintf(fp,"%d\n",b[i]);
fclose(fp);}

TAG:

我来说两句