length;i++)
{
for(intj=i+1;j〈a.length;j++)
{
inttmp=0;
if(a[i]〉a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
intk=0;
for(inti=0;i<4;i++)
{
if(a[i]==a[i+1])
k++;
}
if(k==3)
{
if(a[0]==a[3])
System.out。
println(”四条");
else
System。
out。
println(”三条带一对”);
}
if(k==2)
{
if(a[1]!
=a[2]||a[2]!
=a[3])
System。
out.println("三条带两个不同的");
else
System.out。
println("两对”);
}
if(k==1)
System.out。
println(”一对”);
if(k==0){
if(a[4]—a[0]==4&&a[4]—a[1]==3&&a[4]—a[2]==2&&a[4]-a[3]==1)
System。
out.println("顺子”);
else
System.out。
println("什么都不是");
}
}
}
试题十:
选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[]里存储与score[]数组对应的评委类别,judge_type==1,表示专家评委,judge_type==2,表示大众评委,n表示评委总数。
打分规则如下:
专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分=专家评委平均分*0。
6+大众评委*0。
4,总分取整。
如果没有大众评委,则总分=专家评委平均分,总分取整。
函数最终返回选手得分.
publicclassMark{
publicstaticvoidmain(String[]args){
int[]a=newint[]{20,10,40,50};
int[]b=newint[]{1,2,1,2};
System。
out.println(newMark()。
doMark(a,b));
}
publicintdoMark(int[]score,int[]s)
{
intresult=0;
intdazhong=0;
intzhuanye=0;
inttotal=0;
for(inti=0;i{
total+=s[i];
}
if(total==score.length)
{
for(inti=0;i〈score.length;i++)
{
zhuanye+=score[i];
}
result=zhuanye/score.length;
}
else
{
inttmpa=0;
inttmpb=0;
for(inti=0;ilength;i++)
{
if(s[i]==1)
{
dazhong+=score[i];
tmpa++;
}
elseif(s[i]==2)
{
zhuanye+=score[i];
tmpb++;
}
}
System。
out.println(dazhong);
System。
out。
println(zhuanye);
result=(int)(dazhong/tmpa*0.4+zhuanye/tmpb*0。
6);
}
returnresult;
}
}
试题十一:
给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到output[]数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output[]数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。
publicclassArrayTest{
publicstaticvoidmain(String[]args){
int[]input=newint[]{3,6,1,9,7,8};
int[]output=newint[]{0,0,0,0,0,0};
arrange(input,output);
}
publicstaticvoidarrange(int[]input,int[]output)
{
//首先冒泡排序
for(inti=0;i〈input。
length;++i)
{
for(intj=i+1;j〈input.length;++j)
{
inttmp=0;
if(input[i]
{
tmp=input[i];
input[i]=input[j];
input[j]=tmp;
}
}
}
//根据题目要求进行分配
output[output。
length/2]=input[0];
intleft=0;
intright=0;
for(inti=1;i{
if(!
(i%2==0))
{
left++;
System。
out.println(output。
length/2—left+":
”+input[i]);
output[output。
length/2—left]=input[i];
}
elseif(i%2==0)
{
right++;
System。
out.println(output.length/2—left+”:
”+input[i]);
output[output.length/2+right]=input[i];
}
}
for(inti=0;i〈output.length;++i)
{
System.out。
print(output[i]);
}
}
}
试题十二:
操作系统任务调度问题.操作系统任务分为系统任务和用户任务两种。
其中,系统任务的优先级〈50,用户任务的优先级〉=50且〈=255.优先级大于255的为非法任务,应予以剔除.现有一任务队列task[],长度为n,task中的元素值表示任务的优先级,数值越小,优先级越高。
函数scheduler实现如下功能,将task[]中的任务按照系统任务、