编程入门、进阶100例(6-10题)

本期用先用java去实现代码,后面我会慢慢补全c语言和python的代码

六、温度转换问题

6.1 问题描述

输入一个华氏温度,输出摄氏度,转化公式:C=5 x (F-32)/9

6.2 示例

输入:80
输出:26

6.3 代码实现

java

import java.util.Scanner;

public class Sy {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("输入当前华氏度");
		int temperture=input.nextInt();
		System.out.println(temperture+"℉——>"+5*(temperture-32)/9+"℃");		
	}
}

七、求阶乘之和

7.1 问题描述

求1!+2!+3!……+10!

7.2 示例

输出
1!+2!+3!……+10!= 4037913

7.3 代码实现

java

/**
 * @author gorit
 * @date 2019年3月7日
 * @work 阶乘之和
 * 
 * */
public class FacPlus {
	//非递归的方法
	public static void main(String[] args) {
		int sum=0;//记录阶乘之和
		int flag=1;//循环到第几个数就是第几个数的阶乘
		for (int i = 1; i <= 10; i++) {
			flag*=i;
			sum+=flag;
		}
		System.out.println("1!+2!+3!……+10!= "+sum);
	}
}

八、打印水仙花数

8.1 打印100~1000之间的水仙花数

比如:153=13+53+33这样的数就是水仙花数,题目要求打印100—1000之间的水仙花数

8.2 示例

输出
153
370
371
407

8.3 代码实现

java

/**
 * @author gorit
 * @2019年3月7日
 * @work 打印100到1000之间的水仙花数
 * 
 * */
public class Shuixh {
	public static void main(String[] args) {
		int a=0;//记录个位数
		int b=0;//记录十位数
		int c=0;//记录百位数
		for(int i=100;i<1000;i++) {
			c=i/100;
			b=(i/10)%10;
			a=i%10;
			if(Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3)==(i)) {//幂函数的使用
				System.out.println(i);//打印符合条件的水仙花数
			}
		}
	}
}

九、求100~200以内的素数

9.1 问题描述

什么是素数,就是只能被一和自己本身能整除的数字,比如3、5、7、11等等
怎么解决:算法一:我们要判断第n个数是否是素数时,需要从2开始到n-1对这个数进行整除,如果这个数能被整除,就不是素数
算法二:用除法的方式
算法三:用开方法,就是用2一直整除到sqrt(这个数),如果能被整除,则不是素数

9.2 示例

省略,纯输出

9.3 代码实现

package gorit;
/**
 * @author gorit
 * @date 2019年3月12日
 * @work 求100-200的素数
 * 
 * */
public class Sushu {
	public static void main(String[] args) {
		int sum = 0;
		for(int i = 101; i <= 200; i++) {
			if(judge(i)==1) {//使用judge方法判断i是否是素数
				sum ++;
				System.out.println(i);
			}else {
				
			}
		}
		System.out.println("从101至200一共有" + sum + "个素数");
	}
	
	public static int judge(int n) {
		for(int i = 2; i <= Math.sqrt(n); i++) {//判断素数的方法:用一个数分别去除2到sqrt(这个数)
			if(n%i == 0) {//如果可以整除,则不是素数,返回值为0
				return 0;
			}else {
				
			}
		}
		return 1;//循环结束,没有中途返回值,则为素数,返回值为1
//--------------------- 
//作者:Oceanst_God 
//来源:CSDN 
//原文:https://blog.csdn.net/weixin_43812140/article/details/86551350 
//版权声明:本文为博主原创文章,转载请附上博文链接!
	}
}

十、实现冒泡排序

10.1 问题描述

先输入一个n,表示你后面数组中元素的个数,然后再创建一个长度为n的数组,然后用循环把你输入的元素都放进去,调用冒泡排序的方法,然后循环打印排序后的元素

10.2 示例

样例输入:
4
3 2 1 4

样例输出:
1 2 3 4

10.3 代码实现

import java.util.*;
/**
 * @author gorit
 * @date 2019-3-12
 * @冒泡排序
 * */
public class BubbleSort {
	public static void main(String[] args)  {
		Scanner input=new Scanner(System.in);
		int n;//数组的大小
		n=input.nextInt();
		int[] arr=new int[n];//定义长度为n的数组
		for (int i = 0; i < arr.length; i++) {//依次往数组中填入元素
			arr[i]=input.nextInt();
		}
		BubbleSort(arr);
		for (int i = 0; i < arr.length; i++) {//打印元素
			System.out.print(arr[i]+" ");
		}
	}
	public static int[] BubbleSort(int[] array) {
		int temp;
		for (int i = 0; i < array.length; i++) {
			for (int j = i + 1; j < array.length; j++) {
				if(array[i]>array[j]) {
					temp=array[i];
					array[i]=array[j];
					array[j]=temp;
				}
			}
		}
		return array;
	}
}

猜你喜欢

转载自blog.csdn.net/caidewei121/article/details/88322698
今日推荐