2017年浙江省计算机三级考试题

2017下半年计算机考试就快到了,本站小编为大家分享最新的计算机三级数据库考试题库,希望能帮助同学们顺利通过考试!

2017年浙江省计算机三级考试题

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

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

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

请勿改动数据文件中的任何数据,主函数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()实现从文件中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,然后调用函数WriteDat()把结果xx输出到文件中。

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

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

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

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

提示:若中间变量为 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],sell[j+1])>0||strcmp(sell[j],sell[j+1])==0&&sell[j]>sell[j+1])

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

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

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

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

请勿改动数据文件中的任何数据、主函数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()实现从文件中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件中。

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

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

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

请勿改动数据文件中的任何数据、主函数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()实现从文件中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的`功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件中。

原始数据文件存放的格式是:每行的宽度均小于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. 已知数据文件中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab

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

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

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

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

请勿改动数据文件中的任何数据、主函数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;}

11. 现有一个10个人100行的选票数据文件,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。把结果yy输出到文件中。

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

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

int i,j,count;

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

{ count=0;

for(j=0;xx[i][j];j++)

if(xx[i][j] == '1') count++;

if(count<=5) ;

else for(j = 0; xx[i][j]; j++)

{ if(xx[i][j] == '1') yy[j]++; }

}

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

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

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

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

int i,j,t,s1,s2;

for(i=0;i

{s1=(a[i]/1000)*10+a[i]/10%10; s2=a[i]%10*10+a[i]/100%10;

if(s1-s2>=10&&s1-s2<=20&&!(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;}

13. 函数ReadDat()实现从文件中读取一篇英文文章存入到字符串数组xx中,请编制函数ConverCharD(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其它字符不变。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件中。

例:原文:a

结果:z

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

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

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

int i,j,p;

for(i=0;i

for(j=0;xx[i][j];j++)

if(xx[i][j]>'a'&&xx[i][j]<='z')

xx[i][j]--;

else if(xx[i][j]=='a')

xx[i][j]='z';

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

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

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

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

int i,j,t,s1,s2;

for(i=0;i

{s1=(a[i]%10)*10+a[i]/1000;

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

if((s1%17==0||s2%17==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;}

15. 下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数countValue()实现程序要求的功能,最后调用函数writeDat()把结果cnt和sum输出到文件中。(数值1不是素数)

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

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

int i,a1,a2,a3;

for(i=2;i+10<100;i++)

if((isPrime(i))&&(isPrime(i+4))&&(isPrime(i+10)))

{cnt++;

sum=sum+i;

}

}


更多计算机三级考试相关试题推荐:

1.计算机三级《网络技术》选择题练习及答案2017

2.2017年9月计算机三级《数据库技术》考题与答案

3.2017年计算机三级网络技术提分训练题

4.2017年9月计算机三级《信息安全技术》考题与答案

5.2017计算机三级软件测试技术复习题及答案

6.2017年3月计算机三级软件测试技术考前预测题

7.2017计算机三级信息安全技术上机习题

8.2017年计算机三级数据库精选填空题

9.2017年3月计算机三级网络技术冲关练习题

10.2017计算机三级软件测试技术强化训练题及答案