黑马程序员技术交流社区
标题:
几个有意思的基础编程题
[打印本页]
作者:
岳阳天
时间:
2016-9-8 21:13
标题:
几个有意思的基础编程题
本帖最后由 岳阳天 于 2016-9-8 21:18 编辑
1.28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?
2. 有这样一组数列: 1/2,1/4,2/6,3/8,5/10,8/12.....,统计前20项之和,精确到小数点后2位;
3.代码实现一个n 阶数组,
1 , 2, 3, 4
12 13 14 5
11 16 15 6
10 9 8 7
作者:
岳阳天
时间:
2016-9-8 21:14
1 , 2, 3, 4
12 13 14 5
11 16 15 6
10 9 8 7
作者:
岳阳天
时间:
2016-9-8 21:43
package com.heima.lianxi;
import java.util.Scanner;
public class Test2 {
/**
* * 第3题:写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印:
* 1 2 3 4
* 12 13 14 5
* 11 16 15 6
* 10 9 8 7
* @author Administrator
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
while(true){
try{
n = sc.nextInt();
break;
}catch(Exception e){
System.out.println("输入有误,请输入一个正整数");
}
}
int [][]arr = new int[n][n];
method(arr);
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
System.out.print(arr
[j] + "\t");
}
System.out.println();
}
}
private static void method(int[][] arr) {
int i = 0;
int j = 0;
int max = arr.length -1;
int min = 0;
int num = 1;
while(min<=max){
while(j<max){
arr
[j++] = num++;
}
while(i<max){
arr[i++][j] = num++;
}
while (j>min){
arr
[j--] = num++;
}
while (i>min){
arr[i--][j] = num++;
}
if(min ==max){
arr
[j]= num;
}
max --;
min ++;
j++;
i++;
}
}
}
作者:
NBoss
时间:
2016-9-8 22:19
谢谢分享
作者:
从此学好
时间:
2016-9-11 20:01
谢谢分享。思考下。。
作者:
邬志江
时间:
2016-12-20 10:47
表示我被第二题难住了
作者:
cyifovou
时间:
2016-12-21 12:00
感觉这更多的是数学问题不是编程问题。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2