2016最新计算机三级考试试题
- 计算机三级
- 关注:2.49W次
全国计算机等级考试时间是3月26-29日,以下小编为大家整理出来的是计算机三级考试试题,希望对大家的复习有帮助!
题目1:下列程序的功能是:利用发下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。xn+1=cos(xn)
float countValue()
{float x0,x1=0.0;
while(1)
{x0=x1;
x1=cos(x0);
if(fabs(x0-x1)<1e-6) break;
}
return x1;
}
题目2:请编写函数countvalue(),它的功能是:求n以内(不包括n)同时能被3和7整数的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件中。
double countValue(int n)
{double xy=0.0;
int I;
for(I=1;I
if(I%3==0&&I%7==0) xy+=I;
xy=sqrt((double)xy);
return xy;
}
double countvalue(int n)
{ int i,j=0;
double k;
for(i=0;i
if(i%3==0&&i%7==0)
j+=i;
k=sqrt(j);
return k; }
题目3:已知在文件中存有N个(个数<200)四位数字的正整数,函数readdat()读取这N个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:1、求出这N个实数的平均值aver;2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件中。
void CalValue(void)
{int I;
double x,sum=0;
for (I=0;I
{sumint=sumint+(int)xx[I];
x=xx[I]-(int)xx[I];
sumdec=sumdec+x;
sum=sum+xx[I];
}
aver=sum/MAXNUM;
}
题目4:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数writeDat()把结果输出到文件中。
jsValue(int a[10][9])
{int I,j,k=0;
int hun,ten,data;
for(I=100;I<=999;I++)
{j=10;
while(j*j<=I)
{if (I==j*j)
{hun=I/100;data=I-hun*100;
ten=data/10;data=data-ten*10;
if(hun==ten||hun==data||ten==data)
{bb[k]=I;k++;}
}
j++;} }
return k;
}
题目5:下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请编制函数int svalue(long m)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件中。
int jsValue(long n)
{int I,strl,half;
char xy[20];
ltoa(n,xy,10);
strl=strlen(xy);
half=strl/2;
for(I=0;I
if(xy[I]!=xy[--strl]) break;
if(I>=half) return 1;
else return 0;
}
题目6:已知在文件中存有若干个(个数<200)四位数字的正整数,函数readdat()读取这若干个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:1、求出这文件C.P有多少个正整数totnum;2、求这些数右移1位后,产生的新数是偶数的数的个数totcnt,以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数writedat()把所求的.结果输出到文件中。
void CalValue(void)
{int I,data;
for(I=0;I
{if(!xx[I]) break;
if(xx[I]>0) totNum++;
data=xx[I]>>1;
if (data%2==0){totCnt++;totPjz+=xx[I];}
}
totPjz/=totCnt;
}
题目7:已知数据文件中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到文件。 例如:9123,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。
9812,9-8-1-2<0,则该数不满足条件计算平均值pjz2.
void jsValue()
{int I,thou,hun,ten,data,j;
for(I=0;I<300;I++)
{thou=a[I]/1000; hun=a[I]%1000/100;
ten=a[I]%100/10; data=a[I]%10;
if (thou-hun-ten-data>0){b[cnt]=a[I];cnt++;}
}
for(I=0;I
for(j=I+1;j
if(b[I]>b[j])
{data=b[I]; b[I]=b[j]; b[j]=data;}
}
题目8:已知数据文件中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数cd (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数ab-cd>=0且ab-cd<=10且两个数均是奇数, 同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到文件中。
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 ((ab-cd)>=0&&(ab-cd)<=10&&ab%2==1&&cd%2==1&&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;}
}
题目9:已知数据文件中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数cd (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到文件中。
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 ((ab-cd)>=0&&(ab-cd)<=10&&ab%2==1&&cd%2==1&&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;}
}
题目10:已知数据文件中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 依次从数组a中取出一个四位数,如果该数连续小于该四位数以后的5个数且该数是偶数, 则统计出满足此条件的个数cnt, 并把这些四位数按从小到大的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到文件中。
void jsVal()
{int I,j,flag=0;
for(I=0;I
{for(j=I+1;j<=I+5;j++)
{if(a[I]
flag=1;
else flag=0;
if(a[I]%2!=0)
flag=0;
if (flag==0)
break;}
if(flag==1) {b[cnt]=a[I];cnt++;}
}
for(I=0;I
for(j=I+1;j
if(b[I]>b[j])
{flag=b[I];b[I]=b[j];b[j]=flag;}
}
- 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/sanji/dw3v13.html