0
点赞
收藏
分享

微信扫一扫

学习C语言第十五天

圣杰 2024-08-22 阅读 29

目录

1. 回文判断

2. 减法求商余

3. 求平方根

4.求质数

5. 猜数字


1. 回文判断

 输入一个数字,判断是否为回文,回文就是正着读和反着读都一样,如121是回文,123则不是。

import java.util.Scanner;

public class DemoNew {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个数字");
        int num=sc.nextInt();
        int num_pre=num;//原数字
        int num_next=0;//整理后的数字
        //获取该数字的每个位,从个位开始,直到最高位
        while(num!=0){
            int index=num%10;//获取最低位上的数字
            num=num/10;//最低位往上上一位
            num_next=num_next*10+index;//整理后的数字往上上一位且加上暂时的最低位
        }
        if(num_next==num_pre){
            System.out.println("是回文");
        }else{
            System.out.println("不是回文");
        }
    }
}

结果如下

2. 减法求商余

输入一个被除数和一个除数,要求在不利用乘法、除法、取余的情况下得到商和余数。

import java.util.Scanner;

public class DemoNew {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入被除数");
        int num1=sc.nextInt();
        System.out.println("请输入除数");
        int num2=sc.nextInt();
        int shang=0;//商
        int yushu=0;//余数
        while(num1/num2!=0){//当被除数小于除数,跳出循环,则此时的被除数就是余数
            num1-=num2;//一下一下减
            shang++;
        }
        yushu=num1;
        System.out.println("商是"+shang);
        System.out.println("余数是"+yushu);
    }
}

结果为:

3. 求平方根

输入一个大于等于2的整数,返回其平方根,结果只保留其整数部分,小数部分舍去。

import java.util.Scanner;

public class DemoNew {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数");
        int x=sc.nextInt();
        for(int i=1;i<=x;i++){//根最大不会超过x
            if(i*i>x){//一旦超过x
                System.out.println("简化后的根为"+(i-1));
                break;
            }
        }
    }
}

结果为

4.求质数

输入一个正整数,判断是否为质数,质数只能被1和本身整除,否则叫合数。

import java.util.Scanner;

public class DemoNew {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个正整数");
        int x=sc.nextInt();
        boolean flag=true;
        for(int i=2;i<=x/2;i++){//除数最多不会超过x/2
            if(x%i==0){//如果被其他数整除
                System.out.println("是合数");
                flag=false;//是合数的标志
                break;
            }
        }
        if(flag==true){
            System.out.println("是质数");
        }
    }
}

结果为

5. 猜数字

不断输入数字,通过猜大了猜小了提示以此来猜对系统提供的数字。

import java.util.Scanner;
import java.util.Random;//引用random模块

public class DemoNew {
    public static void main(String[] args) {
        Random random = new Random();//创建一个Random对象
        int randomInt = random.nextInt(100);//随机生成一个0-99之间的整数
        Scanner sc = new Scanner(System.in);
        System.out.println("输入你要猜的数");
        int x = sc.nextInt();
        while (randomInt != x) {//当输入的数不对时
            if (x > randomInt) {
                System.out.println("输大了");
            } else {
                System.out.println("输小了");
            }
            System.out.println("请重新输入你要猜的数");
            x = sc.nextInt();
        }
        System.out.println("猜对了");
    }
}

结果为

关于random模块,random.nextInt((max - min) + 1) + min;:生成一个从minmax之间的随机整数,包括minmaxnextInt(bound)生成一个从0到bound - 1之间的整数,加上min后将范围调整为[min, max]

举报

相关推荐

学习javaweb第十五天

打卡学习第十五天

HCIP 第十五天

学习c#的第十五天

HCIP第十五天

学习python的第十五天

0 条评论