1编程题参考答案doc.docx
- 文档编号:9461615
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:9
- 大小:17.54KB
1编程题参考答案doc.docx
《1编程题参考答案doc.docx》由会员分享,可在线阅读,更多相关《1编程题参考答案doc.docx(9页珍藏版)》请在冰豆网上搜索。
1编程题参考答案doc
第一题:
定义方法
(一)基本算法
37.请编写方法intrevInt(inta),该方法的功能是返回与十进制正整数a的数字顺序相反排列的正整数。
如已知正整数1234,方法返回值是4321。
2015.4
intrevInt(inta){
intb=0,g;
while(a>0){
g=a%10;b=b*10+g;a=a/10;
}
returnb;
}
练习:
请编写方法intgetSum(intx),该方法的功能是返回正整数x的各位数字的和。
intrevInt(intx){
intb=0,g;
while(x>0){
g=x%10;b=b+g;x=x/10;
}
returnb;
}
请编写方法doublegetSum(intx),该方法的功能是返回正整数x的各位数字的平均值。
doublerevInt(intx){
intb=0,g,n=0;
while(x>0){
g=x%10;b=b+g;x=x/10;n++;
}
return(double)b/n;
}
37.编写方法doublesumS(intn),已知参数n,求以下表达式前n项的和S返回。
s=2/1+3/2+5/3+8/5+13/8+……注:
下一项的分母=上一项的分子,下一项的分子=上一项的分子与分母的和。
2015.10
doublesumS(intn){//要特别注意数据类型哟
inti;doubles=0.0;
intfz=2,fm=1,temp;//temp用于保存前一个分母,避免覆盖
for(i=1;i<=n;i++){
temp=fm;//改变前的分母
s=s+(double)fz/fm;
fm=fz;
fz=fz+temp;
}
returns;
}
(二)字符串的运算
37.请编写方法voidstrReverse(Stringstr),该方法的功能是输出一个新字符串,新字符串字符排列顺序与原字符串str的字符排列顺序相反。
例如,strReverse(″ABCD″)所输出的结果是″DCBA″。
请使用字符串与字节数组的相互转换方法进行设计。
2010.1
voidstrReverse(Stringstr){
Stringn="";
for(inti=0;i<=str.length()-1;i++){
n=n+str.substring(str.length()-1-i,str.length()-i);
}
System.out.println(n);
}
/////////////////////////////////////////////////////
voidstrReverse(Stringstr){
byteb[]=str.getBytes();bytet;
for(inti=0;i t=b[i];b[i]=b[b.length-1-i];b[b.length-1-i]=t; } Stringn=newString(b); System.out.println(n); } 37.请编写方法intcountNum(Stringstr),该方法的功能是统计已知字符串str中数字的个数。 例如,countNum("A42B83C2D")的返回值是5。 2010.10 intcountNum(Stringstr){ intn=0; byteb[]=str.getBytes();//将字符串转换为字节数组来处理 for(inti=0;i if(b[i]>=48&&b[i]<=57)n++; //也可以写成if(b[i]>='0'&&b[i]<='9')n++; } returnn; } (三)数组的运用 37.编写方法intsearchMaxNumIndex(int[]a),寻找已知数组中最大数的下标并返回。 2009.10 intsearchMaxNumIndex(int[]a){ intmax=a[0],n=0; for(inti=1;i if(a[i]>max){max=a[i];n=i;} } returnn; } 37.请编写方法doubleaverageOfArray(double[]a),返回非空数组中正数的平均值(数组中可能有非正数元素)。 2011.1 doubleaverageOfArray(double[]a){ doublesum=0.0;intn=0; for(inti=0;i if(a[i]>0){sum=sum+a[i];n++;}//注意把这个两个语句放在IF中 } returnsum/n; } 37.请编写方法intcountOddNum(int[]a),该方法的功能是求已知数组a中奇数的个数。 要求根据方法的功能写出方法的代码。 2016.10 intcountOddNum(int[]a){ intn=0; for(inti=0;i if(a[i]%2! =0)n++; } returnn; } 37.编写方法int[]delete(int[]a,intd),方法将创建一个新数组b,新数组b中只包含原数组中所有值不等于d的元素,并返回该新数组b。 2012.1 int[]delete(int[]a,intd){ intn=0,k=0;//k用来表示下标 for(inti=0;i if(a[i]! =d)n++; intb[]=newint[n];//然后定义数组b for(inti=0;i if(a[i]! =d){b[k]=a[i];k++;}//注意这里不能用b[i],只能用b[k] } returnb; } 37.请编写方法int[]cubeArray(int[]a),返回一个新数组b,数组b的长度与参数数组的长度相同,其元素的值是参数数组对应各元素值的立方。 2012.10 int[]cubeArray(int[]a){ intb[]=newint[a.length]; for(inti=0;i b[i]=a[i]*a[i]*a[i]; } returnb; } 37.编写方法int[]arrayReverse(int[]a),该方法的功能是返回一个新的数组b,新数组的元素排列顺序与参数数组的元素排列顺序相反。 2014.4 int[]arrayReverse(int[]a){ intb[]=newint[a.length],n=0; for(inti=a.length-1;i>=0;i--){ b[n]=a[i];n++;//或者写成b[a.length-i-1]=a[i]; } returnb; } 37.请编写一个方法intfindMaximum(int[][]numbers),要求该方法返回二维数组中元素的最大值。 2011.10 intfindMaximum(int[][]numbers){ intmax=numbers[0][0];//注意max只能初始成第一个元素 for(inti=0;i for(intj=0;j if(numbers[i][j]>max)max=numbers[i][j]; } } returnmax; } 37.编写方法int[][]transpose(int[][]a),方法将生成并返回一个新数组b,该数组为a的转置数组。 注: 数组转置指的是将数组的行、列内容互换。 2013.10 int[][]transpose(int[][]a){ intb[][]=newint[a[0].length][a.length];//a的列数为b的行数,a的行数为b的列数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 参考答案 doc