2016年计算机三级考试题及答案

标签:2016年计算机三级考试题及答案发布时间:2016/2/21 20:01:00

gkstk小编为大家整理了如下的计算机三级程序题,希望能帮助到大家的复习,祝大家考试顺利!

01. 编写函数jsValue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。

例如:当t=1000时,函数值为:1597。

部分源程序存在文件prog1.c中。

请勿改动数据文件in.dat中的任何数据,主函数main()和写函数writeDat()的内容。

int f1,f2,f3;

f1=1; f2=1; f3=2;

while(f3<=1000)

{ f1=f2; f2=f3; f3=f1+f2;}

return f3;

02. 函数ReadDat()实现从文件in.dat中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,然后调用函数WriteDat()把结果xx输出到文件out.DAT中。

替代关系:f(p)=p*11 mod 256 p是数组中某一个字符的ASCII值,f(p)是计算后无符号整型值(注意中间变量定义成整型变量) ,如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。

请勿改动主函数main()、读数据函数ReadDat()和输出函数WriteDat()的内容。

int i,k,f;

for(i=0;i

for(k=0;k

{f=(xx[i][k]*11)%256;

if(f<=32||f>='A'&&f<='Z') ;

else xx[i][k]=f;

}

03. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

int i,j,t;

for(i=0;i<195;i++) if(a[i]

b[cnt++]=a[i];

for(i=0;i

for(j=0;j

if(b[j]>b[j+1])

{t=b[j];b[j]=b[j+1];b[j+1]=t;}

04. 已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT1.DAT中。

提示:若中间变量为 PRO temp ,则可以直接使用结构赋值语句进行解题。例如: seli[i]=temp

注意: 部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

int i,j;

PRO cell;

for (i=0;i<99;i++)

for (j=0;j<99;j++)

if (strcmp(sell[j].mc,sell[j+1].mc)>0||strcmp(sell[j].mc,sell[j+1].mc)==0&&sell[j].je>sell[j+1].je)

{cell=sell[j]; sell[j]=sell[j+1]; sell[j+1]=cell;}

05. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于零且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

int i,j,t;

for(i=0;i

if(a[i]%10-a[i]/1000-a[i]/100%10-a[i]/10%10>=0&&a[i]%2==0)

b[cnt++]=a[i];

for(i=0;i

for(j=0;j

if(b[j]>b[j+1])

{t=b[j];b[j]=b[j+1];b[j+1]=t;}

06. 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS3.DAT中。

替代关系:f(p)=p*17 mod 256, mod为取余运算,p是数组xx中某一个字符的ASCII值,f(p)式计算后无符号的整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)值是奇数,则该字符不变,否则将f(p)所对应的字符进行替代。

部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

int i,j,f;

for(i=0;i

for(j=0;j

{f=xx[i][j]*17%256;

if(f<=32||(f%2!=0))

;

else xx[i][j]=f;

}

07. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

int i,j,t;

for(i=0;i

if(a[i]/1000%2==0&&a[i]/100%10%2==0&&a[i]/10%2==0%10&&a[i]%10%2==0)

b[cnt++]=a[i];

for(i=0;i

for(j=0;j

if(b[j]

{t=b[j];b[j]=b[j+1];b[j+1]=t;}

08. 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT8.DAT中。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

int i,j;

for(i=0;i

{for(j=0;j

xx[i][j]=xx[i][j]+(xx[i][j]>>4);

}

09. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

int i,j,s1,s2;

for(i=0;i

s2=a[i]%10*10+a[i]/100%10;

if(s1=10&&s2>=10)

b[cnt++]=a[i];

}

for(i=0;i

for(j=0;j

if(b[j]

{t=b[j];b[j]=b[j+1];b[j+1]=t;}

10. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字),以及把百位数字和十位数字组成另一个新的十位数(新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字),如果新组成的两个十位数均是奇数并且两个十位数中至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

int i,j,s1,s2;

for(i=0;i

s2=a[i]/100%10*10+a[i]/10%10;

if((s1%5==0||s2%5==0)&&s1%2&&s2%2&&s1>=10&&s2>=10)

b[cnt++]=a[i];

}

for(i=0;i

for(j=0;j

if(b[j]

{t=b[j];b[j]=b[j+1];b[j+1]=t;}

    免责声明:本文仅代表作者个人观点,与本网无关。
    Ctrl+D

    按Ctrl+D键将文章加入收藏夹

    下次需要直接打开+收藏