一、选择题(共五小题,每小题5分)
1、D
2、C
3、D
4、D
5、D
二、排序(10分)
public class test01 {
public static void main(String[] args) {
int [] arr = {
31, 79, 152, 7, 64, 197, 66, 101, 30, 38,
2, 51, 144, 135, 47, 179, 14, 23, 75, 6,
181, 20, 183, 199, 96, 108, 98, 188, 84,
166, 1, 113, 106, 87, 93, 39, 154, 146, 154,
27, 44, 96, 37, 174, 127, 131, 79, 181, 115,
195, 133, 132, 81, 169, 17, 114, 29, 50, 128,
156, 199, 132, 180, 85, 194, 37, 5, 195, 139,
108, 26, 178, 107, 22, 75, 130, 71, 28, 119,
43, 114, 180, 4, 102, 109, 12, 110, 58, 69,
173, 66, 185, 43, 3, 11, 151, 41, 145, 166, 121};
// 方法一:冒泡排序
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if (arr[j]>arr[j+1]){
int x = arr[j];
arr[j] = arr[j+1];
arr[j+1] =x;
}
}
}
// 方法二:选择排序
// for (int i = 0; i < arr.length-1; i++) {
// int x = i;
// for (int j = i+1; j < arr.length; j++) {
// if (arr[j]<arr[x]){
// x = j;
// }
// }
// int tem = arr[i];
// arr[i] = arr[x];
// arr[x] = tem;
// }
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
三、图形题(共25分)
public class test02 {
public static void main(String[] args) {
for (int i=0;i<15;i++){
for (int z = 0;z<i;z++){
System.out.print(" ");
}
for (int j = i*2;j<15*2-1;j++){
System.out.print("*");
}
System.out.println();
}
}
}
public class test03 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入:");
int x = input.nextInt();
// 菱形上半部分
for (int i=0;i<x;i++){
for (int z = i;z<x-1;z++){
System.out.print("\t");
}
for (int j =0;j<=i*2;j++){
System.out.print("*"+"\t");
}
System.out.println();
}
// 菱形下半部分
for (int i=1;i<x;i++){
for (int z = 0;z<i;z++){
System.out.print("\t");
}
for (int j = i*2;j<x*2-1;j++){
System.out.print("*"+"\t");
}
System.out.println();
}
}
}
四、算法题(共40分)
public class Test04 {
public static void main(String[] args) {
int [] list1 = new int[50];
int [] list2 = new int[50];
int [] list3 = new int[50];
int x1 = 0;
int x2 = 0;
int x3 = 0;
for(int i=1;i<=100;i++) {
if(i%3==0&&i%5!=0) {
list1[x1] = i;
x1++;
}
else if(i%5==0&&i%3!=0) {
list2[x2] = i;
x2++;
}
else if(i%5==0&&i%3==0) {
list3[x3] = i;
x3++;
}
}
System.out.println("“Flip”的元素为:");
for (int i = 0; i < x1; i++) {
System.out.print(list1[i]+", ");
}
System.out.println();
System.out.println("“Flop”的元素为:");
for (int i = 0; i < x2; i++) {
System.out.print(list2[i]+", ");
}
System.out.println();
System.out.println("“FlipFlop”的元素为:");
for (int i = 0; i < x3; i++) {
System.out.print(list3[i]+", ");
}
}
}
public class test05 {
public static void main(String[] args) {
System.out.print("请输入一个数字:");
Scanner input = new Scanner(System.in);
int x = input.nextInt();
int y = 0;
int w = x;
if (x<0){
System.out.println(false);
return;
}
while (x!= 0){
int z = x%10;
y = z + y*10;
x /= 10;
}
if (y == w){
System.out.println(true);
}else {
System.out.println(false);
}
}
}
public class Test08 {
public static void main(String[] args) {
int [] nums = {
11,25,30,40,33,90,100};
Scanner input = new Scanner(System.in);
System.out.print("请输入target的值:");
int target = input.nextInt();
for (int i = 0; i < nums.length-1; i++) {
for (int j = i+1; j < nums.length; j++) {
if (nums[i]+nums[j]==target){
System.out.println("["+i+","+j+"]");
return;
}
}
}
System.out.println("数组中无符合结果的值。");
}
}
附加题(100分,不计入总成绩)
public class Test09 {
public static void main(String[] args) {
int x = 2020;
int y = 0;
for (int i = 1;i<=x;i++){
int w = i;
while (w!= 0){
int z = w%10;
if (z==2){
y++;
}
w /= 10;
}
}
System.out.println(y);
}
}