第一阶段第八天(函数结构体以及调用)

这篇博客详细介绍了C语言中函数的使用,包括如何定义、调用函数以及结构体的概念和操作。通过实例讲解了结构体在函数中的传递方式,深入探讨了函数与结构体相结合的应用场景,帮助读者掌握高级C语言编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.
package day8;
 
import java.util.Scanner;
 
/**
 * 
 * 写一个函数add,接受两个整数作为参数,返回这两个整数的和。
 *
 */
public class Demo8_1 {
    /**
     * 入口文件
     * @param args
     */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//实例化Scanner类对象
        System.out.println("请输入两个整数:");//提示用户输入信息
        int a=sc.nextInt();//获取用户输入信息
        int b=sc.nextInt();
        System.out.println(add(a,b));//调用函数
        sc.close();//关闭Scanner对象
    }
    /**
     * 实现两个整数求和
     * @param a  第一个参数 int
     * @param b  第一个参数 int
     * @return   返回两个整数之和 int
     */
    public static int add(int a,int b){
        int sum=0;
        sum=a+b;
        return sum;     
    }
 
}


2.
package day8;
 
import java.util.Scanner;
 
/**
 * 写一个函数,接受一个整数,输出这个整数的所有因子。
 *
 */
public class Demo8_2 {
    /**
     * 入口文件
     * @param args 参数
     */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//实例化Scanner类对象
        System.out.println("请输入一个整数");//提示用户输入信息
        int num=sc.nextInt();//获取用户输入信息
        yinzi(num);//调用函数
        sc.close();//关闭Scanner对象
         
    }
    /**
     * 实现一个整数的所有因子
     * @param num  参数int类型
     */
    public static void yinzi(int num){
        for(int i=1;i<num;i++){
            if(num%i==0){
                System.out.println(i);
            }
        }
    }
     
}


3.
package day8;
 
import java.util.Scanner;
 
/**
 * 
 * 写一个函数,接受一个整数n,输出1+2+3+...+n 的和
 *
 */
public class Demo8_3 {
    /**
     * 入口文件
     * @param args 参数
     */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//实例化Scanner类对象
        System.out.println("请输入一个整数");//提示用户输入信息
        int num=sc.nextInt();//获取用户输入信息
        add(num);//调用函数
        sc.close();//关闭Scanner对象
    }
    /**
     * 实现输出打印1+2+3...+n的和
     * @param num 参数 代表要加到num
     */
    public static void add(int num){
        int sum=0;
        for(int i=1;i<=num;i++){
            sum+=i;         
        }
        System.out.println("1+2+3+...+"+num+"="+sum);
    }
}



4.
package day8;
 
import java.util.Scanner;
 
/**
 * 
 * 写一个函数,接受一个整数参数n,输出n 个HelloWorld
 *
 */
public class Demo8_4 {
    /**
     * 入口文件
     * @param args
     */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//实例化Scanner类对象
        System.out.println("请输入一个整数:");//提示用户输入信息
        int n=sc.nextInt();//获取用户输入信息
        Hello(n);   //调用函数  
        sc.close();//关闭Scanner对象
    }
    /**
     * 实现输出n个HelloWorld
     * @param n参数 int类型
     */
    public static void Hello(int n){
        for(int i=1;i<=n;i++){
            System.out.println("HelloWorld");
        }
    }
}


5.
package day8;
 
import java.util.Scanner;
 
/**
 * 
 * 写一个函数,接收一个整数,输出这个整数是几位数。
 *
 */
public class Demo8_5 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数");
        int n=sc.nextInt();
        weishu(n);
    }
    public static void weishu(int n){
        int count=0;
        while(n>0){
            n=n/10;
            count++;
        }
        System.out.println(count);
    }
}


6.

package day8;
 
import java.util.Scanner;
 
/**
 * 
 * 写一个函数,判断一个整数是否是质数。
 *
 */
public class Demo8_6 {
    /**
     * 入口文件
     * @param args参数
     */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//实例化Scanner类对象
        System.out.println("请输入一个整数");//提示用户输入信息
        int n=sc.nextInt();//获取用户输入
        prime(n);//调用函数
        sc.close();//关闭Sannner对象
    }
    /**
     * 实现判断一个整数是否是质数
     * @param n参数
     */
    public static void prime(int n){
        if(n==1){
            System.out.println("1不是质数");
        }
        for(int i=2;i<=n;i++){
            if(n%i==0&&n!=i){
                System.out.println("这个数不是质数");
                break;
            }else{
                System.out.println("这个数是质数");
                break;
            }
        }
    }   
}






7.

package day8;
 
import java.util.Scanner;
 
/**
 * 
 * 写一个函数,计算两点(x1,y1)和(x2,y2)之间的距离。
 *
 */
public class Demo8_7 {
    /**
     * 文件入口
     * @param args参数
     */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//实例化Scanner对象
        System.out.println("请分别输入两点的坐标数值x1,y1,x2,y2");//提示用户输入信息
        double x1=sc.nextDouble();//获取用户输入
        double y1=sc.nextDouble();
        double x2=sc.nextDouble();
        double y2=sc.nextDouble();
        distance(x1,y1,x2,y2);//调用函数
        sc.close();//关闭Scanner对象
         
    }
    /**
     * 实现两点(x1,y1)和(x2,y2)之间的距离
     * @param x1参数1  
     * @param y1参数2
     * @param x2参数3
     * @param y2参数4
     */
    public static void distance(double x1,double y1,double x2,double y2){
        double dx=x1-x2;
        double dy=y1-y2;
        double dist=Math.sqrt(dx*dx+dy*dy);//两点之间的距离
        System.out.println(dist);       
    }
}






8.

package day8;
 
import java.util.Scanner;
 
/**
 * 
 * 写一个函数,接收三个整数 a,b,c, 计算ax^2+bx+c=0的根。
 *
 */
public class Demo8_8 {
    /**
     * 入口文件
     * @param args参数
     */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//实例化Scanner对象
        System.out.println("请输入三个整数");//提示用户输入信息
        int a=sc.nextInt();//获取用户输入信息
        int b=sc.nextInt();
        int c=sc.nextInt();
        jisuan(a,b,c);//调用函数
        sc.close();
    }
    /**
     * 实现计算ax^2+bx+c=0的根
     * @param a参数1
     * @param b参数2
     * @param c参数3
     */
    public static void jisuan(int a,int b,int c){
        double flag=b*b-4*a*c;
        if(flag<0){
            System.out.println("此方程无实数根");
        }else{
            System.out.println("此方程的实数根是X1= "+(-b+Math.sqrt(flag)/2*a));
            System.out.println("此方程的实数根是X2= "+(-b-Math.sqrt(flag)/2*a));
        }
         
    }
 
}

9.

package day8;
/**
 * 
 * 求一个三位数,该三位数等于其每一位数字的阶乘之和。
 *
 */
public class Demo8_9 {
    /**
     * 入口文件
     * @param args参数
     */
    public static void main(String[] args) {
        for(int num=100;num<=999;num++){//三位数100-999
            int ge=num%10;//个位
            int shi=num/10%10;//十位
            int bai=num/100;//百位            
            if(num==jiecheng(ge)+jiecheng(shi)+jiecheng(bai)){//三位数等于每一位阶乘之和
                System.out.println(num);//打印输出这个三位数
            }
        }
    }
    /**
     * 实现数字的阶乘
     * @param a  参数
     * @return 返回类型 int
     */
    public static int jiecheng(int a){
        int jc=1;
        if(a==0){
            return 0;//数字为0的时候阶乘为0
            }else{
                for(int i=1;i<=a;i++){
                    jc*=i;      //计算阶乘
                }
                return jc;
            }       
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值