全国计算机等级考试三机机试纯答案.docx
《全国计算机等级考试三机机试纯答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试三机机试纯答案.docx(78页珍藏版)》请在冰点文库上搜索。
全国计算机等级考试三机机试纯答案
目录
一、排序类
1、找数排序(求四位数的个十百千位)…………2
2、字符串排序(英文文章操作)…………………26
3、结构体排序(按产品代码金额排序)…………32
二、统计类
1、求值(四位正整数的个数及平均值)…………39
2、选票及方差……………………………………47
3、精度计算………………………………………54
4、素数判断……………………………………..58
三、字符串类
1、字符串替换(f(p)=p*11mod256)…….……62
2、字符串移动及替换……………………………70
四、杂项类…………………………………………76
五、附加题………………………………………..86
排序类
题型一
找
数
排
序
类
第2套:
编写函数jsvalue(),其功能是如果四位数的各位数字均是0或2或4或6或8,按从大到小的顺序排序存入数组b中。
关键字找数排序各位数字均是偶数
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
if(k1%2==0&&k2%2==0&&k3%2==0&&k4%2==0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第15套:
编制一函数jsVal(),其功能是:
若千位小于等于百位,百位小于等于十位,十位小于等于个位值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中.
关键字找数排序千位小于等于
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
if(k4<=k3&&k3<=k2&&k2<=k1&&a[i]%2==0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第27套:
编制一函数jsVal(),其功能是:
若千减百减十减个大于零的个数cnt,并把这些四位数按从小到大的顺序存入数组b中
关键字找数排序千减百减十
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<300;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
if(k4-k3-k2-k1>0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第28套:
ab:
新十原千,新个原十,cd:
新十原个,新个原百,如果ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则从大到小存入b中.
关键字找数排序ab-cd>=0
voidjsVal()
{inti,j,t,k1,k2,k3,k4,ab,cd;
for(i=0;i<200;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
ab=k4*10+k2;cd=k1*10+k3;
if(ab-cd>=0&&ab-cd<=10&&ab%2!
=0&&cd%2!
=0&&k4!
=0&&k1!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第29套:
ab:
新十原千,新个原十,cd:
新十原个,新个原百,如果ab-cd>=10且ab-cd<=20且两个数均是偶数,同时两个新数的十位数字均不为零,则从大到小存入b中.
关键字找数排序ab-cd>=10
voidjsVal()
{inti,j,t,k1,k2,k3,k4,ab,cd;
for(i=0;i<200;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
ab=k4*10+k2;cd=k1*10+k3;
if(ab-cd>=10&&ab-cd<=20&&ab%2==0&&cd%2==0&&k4!
=0&&k1!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第48套:
编制一函数jsVal(),其功能是:
求千+个=百+十的个数cnt,并把这些四位数按从小到大的顺序存入数组b中.
关键字找数排序千+个=百+十
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<300;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
if(k4+k1==k3+k2)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第51套:
ab:
新十原千,新个原十,cd:
新十原个,新个原百,如果两个二位数均是素数,同时两个新数的十位数字均不为零,则从大到小存入b中.
关键字找数排序两个二位数均是素数
voidjsVal()
{inti,j,t,k1,k2,k3,k4,ab,cd;
for(i=0;i<200;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
ab=k4*10+k2;cd=k1*10+k3;
if(isprime(ab)&&isprime(cd)&&k4!
=0&&k1!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第52套:
ab:
新十原千,新个原个,cd:
新十原百,新个原十,如果两个二位数均是奇数,并且两个数中至少有一个数能被5整除,同时两个新数的十位数字均不为零,则从大到小存入b中.
关键字找数排序至少能被5
voidjsVal()
{inti,j,t,k1,k2,k3,k4,ab,cd;
for(i=0;i<200;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
ab=k4*10+k1;cd=k3*10+k2;
if(ab%2!
=0&&cd%2!
=0&&(ab%5==0||cd%5==0)&&k4!
=0&&k3!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第53套:
编制一函数jsVal(),其功能是:
求千-百-十-个大于零的个数cnt,并把这些四位数按从小到大的顺序存入数组b中.
关键字找数排序千-百-十
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<300;i++)
{k1=a[i]%10;
k2=a[i]/10%10;
k3=a[i]/100%10;
k4=a[i]/1000%10;
if(k4-k3-k2-k1>0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第54套:
编制一函数jsVal(),其功能是:
求千+百=十+个的个数cnt,并把这些四位数按从大到小的顺序存入数组b中.
关键字找数排序千+百=十+个
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<300;i++)
{k1=a[i]%10;
k2=a[i]/10%10;
k3=a[i]/100%10;
k4=a[i]/1000%10;
if(k4+k3==k2+k1)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第55套:
编制一函数jsVal(),其功能是:
求出所有这些数是素数的个数cnt,并把这些四位数按从小到大的顺序存入数组b中.
关键字找数排序是素数
VoidjsVal()
{inti,j,t;
for(i=0;i<300;i++)
if(isP(a[i]))注意P是大写
b[cnt++]=a[i];
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第59套:
ab:
新十原千,新个原十,cd:
新十原个,新个原百,如果ab关键字找数排序abvoidjsVal()
{inti,j,t,k1,k2,k3,k4,ab,cd;
for(i=0;i<200;i++)
{k1=a[i]%10;
k2=a[i]/10%10;
k3=a[i]/100%10;
k4=a[i]/1000%10;
ab=k4*10+k2;cd=k1*10+k3;
if(ab=0&&ab%5!
=0&&cd%2==0&&k4!
=0&&k1!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第68套:
200个数,编制一函数jsVal(),其功能是:
求各位上的数字均是奇数的个数cnt,并把这些四位数按从大到小的顺序存入数组b中.
关键字找数排序各位数字均是奇数
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<200;i++)
{k1=a[i]%10;
k2=a[i]/10%10;
k3=a[i]/100%10;
k4=a[i]/1000%10;
if(k1%2!
=0&&k2%2!
=0&&k3%2!
=0&&k4%2!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第69套:
200个数,编制一函数jsVal(),其功能是:
求千-百-十-个大于等于零且原四位数是奇数的个数cnt,并把这些四位数按从小到大的顺序存入数组b中.
关键字找数排序千-百-十-个>=0
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<200;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
if(k4-k3-k2-k1>=0&&a[i]%2!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第72套:
ab:
新十原个,新个原千,cd:
新十原百,新个原十,如果两个新二位数均是偶数并且这两个二位数至少有一个数能被9整除,同时两个新数的十位数字均不为零,则从大到小存入b中.
关键字找数排序至少有一个能被9
voidjsVal()
{inti,j,t,k1,k2,k3,k4,ab,cd;
for(i=0;i<200;i++)
{k1=a[i]%10;
k2=a[i]/10%10;
k3=a[i]/100%10;
k4=a[i]/1000%10;
ab=k1*10+k4;cd=k3*10+k2;
if(ab%2==0&&cd%2==0&&(ab%9==0||cd%9==0)&&k1!
=0&&k3!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第76套:
ab:
新十原个,新个原千,cd:
新十原百,新个原十,如果两个新二位数一个是奇数,另一个是偶数并且这两个二位数至少有一个数能被17整除,同时两个新数的十位数字均不为零,则从大到小存入b中.
关键字找数排序至少有一个能被17
voidjsVal()
{inti,j,t,k1,k2,k3,k4,ab,cd;
for(i=0;i<200;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
ab=k1*10+k4;cd=k3*10+k2;
if((ab%2!
=0&&cd%2==0||ab%2==0&&cd%2!
=0)
&&(ab%17==0||cd%17==0)&&k1!
=0&&k3!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第77套:
200个数,编制一函数jsVal(),其功能是:
求千+十=百+个并且原四位数是偶数的个数cnt,并把这些四位数按从小到大的顺序存入数组b中.
关键字找数排序千+十=百+个且是偶数
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<200;i++)
{
k1=a[i]%10;
k2=a[i]/10%10;
k3=a[i]/100%10;
k4=a[i]/1000%10;
if(k4+k2==k3+k1&&a[i]%2==0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第78套:
200个数,编制一函数jsVal(),其功能是:
求千>=百,百>=十,十>=个并且原四位数是奇数的个数cnt,并把这些四位数按从小到大的顺序存入数组b中.
关键字找数排序千>=百>=十>=个
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<200;i++)
{k1=a[i]%10;
k2=a[i]/10%10;
k3=a[i]/100%10;
k4=a[i]/1000%10;
if(k4>=k3&&k3>=k2&&k2>=k1&&a[i]%2!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第85套:
200个数,编制一函数jsVal(),其功能是:
求个-千-百-十>=0并且原四位数是偶数的个数cnt,并把这些四位数按从小到大的顺序存入数组b中.
关键字找数排序个-千-百-十>=0
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<200;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
if(k1-k4-k3-k2>=0&&a[i]%2==0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第86套:
ab:
新十原千,新个原十,cd:
新十原个,新个原百,如果ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则从大到小存入b中.
关键字找数排序ab必须是偶数且能被5
voidjsVal()
{inti,j,t,k1,k2,k3,k4,ab,cd;
for(i=0;i<200;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
ab=k4*10+k2;cd=k1*10+k3;
if(ab>cd&&ab%2==0&&ab%5==0&&cd%2!
=0&&k4!
=0&&k1!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第89套:
200个数,编制一函数jsVal(),其功能是:
求千+个=百+十并且原四位数是奇数的个数cnt,并把这些四位数按从小到大的顺序存入数组b中.
关键字找数排序千+个=百+十且是奇数
VoidjsVal()
{inti,j,t,k1,k2,k3,k4;
for(i=0;i<200;i++)
{k1=a[i]%10;k2=a[i]/10%10;k3=a[i]/100%10;k4=a[i]/1000%10;
if(k4+k1==k3+k2&&a[i]%2!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第14套:
依次从a中取出一个四位数,如果四位数连续大于该四位数以后的五个数且该数是奇数,则统计出满足此条件的个数,从小到大存入数组b.
关键字找数排序连续大于以后且是奇数
voidjsval()
{inti,j,t,flag;
for(i=0;i<=194;i++)
{flag=1;
for(j=1;j<=5;j++)
if(a[i]<=a[i+j]){flag=0;break;}
elseflag=1;
if(flag==1&&a[i]%2!
=0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第30套:
依次从a中取出一个四位数,如果四位数连续小于该四位数以后的五个数且该数是偶数,则统计出满足此条件的个数,从小到大存入数组b.
关键字找数排序连续小于以后且是偶数
voidjsval()
{inti,j,t,flag;
for(i=0;i<=194;i++)
{flag=1;
for(j=1;j<=5;j++)
if(a[i]>=a[i+j]){flag=0;break;}
elseflag=1;
if(flag==1&&a[i]%2==0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]
{t=b[i];b[i]=b[j];b[j]=t;}
}
第45套:
依次从a中取出一个四位数,如果四位数连续大于该四位数以前的五个数且该数是偶数,则统计出满足此条件的个数,从大到小存入数组b.
关键字找数排序连续大于以前且是偶数
voidjsval()
{inti,j,t,flag;
for(i=5;i<200;i++)
{flag=1;
for(j=1;j<=5;j++)
if(a[i]<=a[i-j]){flag=0;break;}
elseflag=1;
if(flag==1&&a[i]%2==0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第46套:
依次从a中取出一个四位数,如果四位数连续大于该四位数以前的五个数且该数是奇数且该数必须能被7整除,则统计出满足此条件的个数,从大到小存入数组b.
关键字找数排序连续大于以前且是奇数
voidjsval()
{inti,j,t,flag;
for(i=5;i<200;i++)
{flag=1;
for(j=1;j<=5;j++)
if(a[i]<=a[i-j]){flag=0;break;}
elseflag=1;
if(flag==1&&a[i]%2!
=0&&a[i]%7==0)
b[cnt++]=a[i];
}
for(i=0;ifor(j=0;jif(b[i]>b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
}
第5套:
.编写函数jssort(),其功能是按每个数的后三位进行升序排列,排序后取前10个数存入数组bb中,如果后三位相等,则按原数