经典编程考试卷

这是一份C语言编程考试卷,包含了四个题目:计算1-100之间奇数之和,找出100-给定数字之间符合条件的数字之和,根据工龄涨薪,模拟计算器功能。此外,还提供了其他编程题目,如数组操作、统计特定数字出现次数、查找数组中特定数字的位置、计算数组元素之和、判断两个数是否相等、找出数组中最大元素的索引、实现加减乘除功能、统计字符串中字符类型个数以及字符串处理等。
摘要由CSDN通过智能技术生成

第一题:
使用for循环,求出1-100之间的奇数之和.

public class GetSum {
    public static void main(String[] args) {
      int sum=0;
        for (int i = 1; i <=100; i++) {
            if(i%2==1){
                sum+=i;
            }

        }
        System.out.println(sum);
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
第二题:
定义一个int类型变量接收一个大于100的三位数,求出100到该数字之间满足如下要求的数字之和:
1.数字的个位数不为7;
2.数字的十位数不为5;
3.数字的百位数不为3;

 public static void main(String[] args) {
        int num=1200;
        int sum=0;
        if(num<=1000){
            for (int i = 100; i < num; i++) {
                int ge=num%10;
                int shi=num/10%10;
                int bai=num/10/10%10;
                if(ge!=7&&shi!=5&&bai!=3){
                    sum+=i;
                }
            }
            System.out.println(sum);

        }else{
            System.out.println("你输入的不是三位数!");
        }


    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
第三题:
分析以下需求,并用代码实现:
1.根据工龄(整数)给员工涨工资(整数),工龄和基本工资自定义
2.涨工资的条件如下:
[10-15) +5000
[5-10) +2500
[3~5) +1000
[1~3) +500
[0~1) +200
3.如果自定义的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"

public static void main(String[] args) {
        int s = 3000;
        int age=16;
        if(age>=0&&age<1){
            s=s+200;
            System.out.println("你目前工作了"+age+"年,基本工资为3000元,应涨工资为 200元,涨后工资为"+s+"元");

        }else  if(age>=1&&age<3){
            s=s+500;
            System.out.println("你目前工作了"+age+"年,基本工资为3000元,应涨工资为 500元,涨后工资为"+s+"元");

        }else   if(age>=3&&age<5){
            s=s+1000;
            System.out.println("你目前工作了"+age+"年,基本工资为3000元,应涨工资为 1000元,涨后工资为"+s+"元");

        }else  if(age>=5&&age<10){
            s=s+2500;
            System.out.println("你目前工作了"+age+"年,基本工资为3000元,应涨工资为 2500元,涨后工资为"+s+"元");

        }else  if(age>=00&&age<15){
            s=s+5000;
            System.out.println("你目前工作了"+age+"年,基本工资为3000元,应涨工资为 5000元,涨后工资为"+s+"元");

        }else{
            System.out.println("对不起,没有这个选项");
        }


    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
第四题:
分析以下需求,并用代码实现:
1.功能描述:模拟计算器功能,对定义的int类型的数据进行加、减、乘、除的运算,并打印运算结果
2.要求:
(1)定义三个int类型变量接收三个数据,其中前两个整数代表参加运算的数据,
第三个整数为要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)
(2)使用今天所学知识完成功能
(3)演示格式如下:
第一个整数:30
第二个整数:40
您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算):0
控制台输出:30+40=70

public static void main(String[] args) {
    int a=20;
    int b=0;
    int mark=3;
    switch (mark){
        case 0:
            System.out.println("第一个整数:"+a);
            System.out.println("第二个整数:"+b);
            System.out.println("结果是:"+a+"+"+b+"="+(a+b));
            break;
        case 1:
            System.out.println("第一个整数:"+a);
            System.out.println("第二个整数:"+b);
            System.out.println("结果是:"+a+"-"+b+"="+(a-b));
            break;
        case 2:
            System.out.println("第一个整数:"+a);
            System.out.println("第二个整数:"+b);
            System.out.println("结果是:"+a+"*"+b+"="+(a*b));
            break;
        case 3:
            if(b!=0){
                System.out.println("第一个整数:"+a);
                System.out.println("第二个整数:"+b);
                System.out.println("结果是:"+a+"/"+b+"="+(a/b));
            }else{
                System.out.println("除数不能为0");
            }
            break;
        default:
            System.out.println("数据错误");
            break;
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
第五题:
已知数组int[] nums = {5,10,15},要求创建一个新数组
1.新数组的长度和已知数组相同
2.新数组每个元素的值 是已知数组对应位置元素的2倍
3.在控制台中打印新数组的所有元素

 public static void main(String[] args) {
        int[]nums={5,10,15};
        int[]arr=new int[3];
        for (int i = 0; i < nums.length; i++) {
            arr[i]=nums[i]*2;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
1
2
3
4
5
6
7
8
9
10
第六题:
看程序说结果,请不要提前运行(题目见图片第六题.png)?
567
第七题:
分析以下需求并用代码实现:
1.统计整数1-100(包括1和100)之间能同时被3和7整除的数字的个数
2.使用步骤1统计的个数创建该长度的数组
3.使用该数组存储整数1-100(包括1和100)之间能同时被3和7整除的数字
4.遍历数组,打印数组内元素,格式示例如下:
[元素1,元素2,元素3…]

 public static void main(String[] args) {
        int count = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 3 == 0 && i % 7 == 0) {
                count++;
            }

        }

        int[] arr = new int[count];
        int index=0;
        for (int i = 1; i <= 100; i++) {
            if (i % 3 == 0 && i % 7 == 0) {
                arr[index]=i;
                index++;

            }

        }
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
           if(i==arr.length-1){
               System.out.println(arr[i]+"]");
           }else{
               System.out.print(arr[i]+",");
           }

        }
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
第八题:
有如下数组int[] arr={10,20,30,40,60,80};
定义一个方法求出数组这元素相加的结果并打印

public static void main(String[] args) {
        int []arr={10,20,30,40,60,80};
       
        System.out.println(getSum(arr));

    }

    private static int  getSum(int[]arr) {
        int sum=0;
        for (int i = 0; i < arr.length; i++) {
           sum+=arr[i];
        }
        return sum;

    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
第九题:
主方法中给定数组int[] arr= {10,20,30,40,50,60};这个数组没有重复元素.
定义一个方法可以接受这个给定的数组并返回这个数组中最大元素值的索引值

 public static void main(String[] args) {
        int[]arr={10,20,30,40,50,60};
        System.out.println(getmaxindex(arr));

    }

    private static int getmaxindex(int[]arr) {
        int max=arr[0];
        int maxindex=0;
        for (int i = 0; i < arr.length; i++) {
            if(arr[maxindex]<arr[i]){
                arr[maxindex]=arr[i];
                maxindex++;
            }

    }
    return maxindex;

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
第十题:
方法的练习:
1.求两个数据之和(整数和小数)
2.判断两个数据是否相等(整数和小数)
3.获取两个数中较大的值(整数和小数)并返回
4.获取两个数中较小的值(整数和小数)并返回
5.否能用一个方法实现3和4的两个功能

public static void main(String[] args) {
        getSum(10, 4.5);
        System.out.println("两数是否相等:" + getEquals(17, 10.0));
       double result1= getMax(110,20);
        System.out.println("较大值:"+result1);

        double result2=getMin(10,15);
        System.out.println("较小值:"+result2);


  double [] result=getJudge(10,20.1);
        System.out.println("较大值:"+result[0]);
        System.out.println("较小值:"+result[1]);

    }
private static double[] getJudge(int a, double b) {
   double []arr1=new double[2];
  double max;
 double min;
  if(a>b){
      max=a;
      min=b;
  }else{
     min=a;
      max=b;
  }

  arr1[0]=max;
  arr1[1]=min;
    return arr1;
}

private static double getMin(int a,double b) {

    double min=a<b?a:b;

    return min;
}

private static double getMax(int a,double b) {
   double max;
    if(a>b){
         max=a;
    }else{
        max=b;
    }
    return max;
}

private static boolean getEquals(int a, double b) {
    if (a == b) {
        return true;
    } else {
        return false;
    }
}

private static void getSum(int a, double b) {
    System.out.println("两数之和:" + (a + b));
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
第十一题:
定义一个方法,求出给定的数字在给定int型数组中出现的次数,如果一次没有出现则返回0。
如:给定数字3 求出3在数组 int[] arr = {3,4,3,5,7,9};中出现的次数

public static void main(String[] args) {
        int[] arr = {3, 4,  3, 5, 7, 9};
        int num = getCount(arr);
        System.out.println(num);
    }

    private static int getCount(int[] arr) {
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 3) {
                count++;
            }
        }

        return count;

    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
第十二题:
定义一个方法,查找指定数字在数组中出现的位置(若出现多次,多次打印)
如: 数组[1232]要查找的数是2 则方法内部会打印索引值 1 ,3
数组[1232] 要查找的数是5 则会打印 “数组中没有这个数字”

 public static void main(String[] args) {

    int []arr={1,2,3,2};
    getnumber(arr);
}

private static void getnumber(int []arr) {
    int num=5;
    for (int i = 0; i < arr.length; i++) {
        if (arr[i]==num){
            System.out.println(i);

        }
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
第十三题(15分):
定义 getNewArr()方法:要求传入一个int类型的数组arr,遍历数组,将数组中小于10的元素替换成0,然后返回修改之后的数组
在main方法中完成:
1.定义一个长度为5的int类型的数组
2.手动给出5个随机的数值存入数组,并把数组中的元素打印在控制台
3.调用getNewArr方法,在控制台打印返回后的数组中的元素
格式如下:
随机生成的数组中的元素是:
48 8 35 25 39
调用方法修改后的数组中的元素是:
48 0 35 25 39

public class Test01 {
 
    public static void main(String[] args) {
//        1.数组静态初始化,直接给出5个元素
        int[] arr = {48, 8, 35, 25, 39};
        System.out.println("随机生成的数组中的元素是:");
//        遍历数组并打印
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
//        调用方法返回新数组
        int[] newArr = getNewArr(arr);
        System.out.println("调用方法修改后的数组中的元素是:");
//        遍历新数组并打印
        for (int i = 0; i < newArr.length; i++) {
            System.out.print(newArr[i] + " ");
        }
    }

    public static int[] getNewArr(int[] arr) {
//        遍历数组
        for (int i = 0; i < arr.length; i++) {
//            判断数组元素是否小于10
            if (arr[i] < 10) {
//                将小于10的元素替换成0
                arr[i] = 0;
            }
        }
//        将数组进行返回
        return arr;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
第十四题(15分):
1.定义长度为100的整数类型数组,并对数组进行赋值1-100之间的整数数据(包括1和100),
2.定义方法,传递数组,将数组中元素能同时被3和5整除的存入到新数组1中,并将新数组返回
3.定义print方法,打印传递的数组内的元素,打印格式如下:数组元素:[元素1,元素2,元素3…]

public class Test02

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值