循环的应用

猜数游戏:

public class Au {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int number = (int)(Math.random()*100+1);
		int a;
		int count = 0;

		do{
			a = in.nextInt();
			count = count +1;
			if(a<number){
				System.out.println("偏小了");
			}
			else if(a>number){
				System.out.println("偏大了");
			}
		}while(a != number);

		System.out.println("恭喜你,猜对了,你猜了"+count+"次");
	}

}

逆序:

public class Au {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int number = in.nextInt();
		do {
			int digit = number % 10;
			System.out.print(digit);
			number = number / 10;
		} while (number > 0);
	}

}

输出结果:

700

007

改进:

public class Au {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int number = in.nextInt();
		int result = 0;
		do {
			int digit = number % 10;
			result = result*10 +digit;
			number = number / 10;
		} while (number > 0);
		System.out.println(result);
	}

}

输出结果:

700

7

写出计算f=1+1/2+1/3+……+1/n的程序:

public class Au {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		double sum = 0.0;
		for(int i=1; i<=n; i++){
			sum += 1.0/i;
		}
		System.out.println(sum);
	}

}

输出结果:

100

5.187377517639621

如果想要输出的结果保留两位小数呢?就要对输出的格式进行变化,在System.out.print上做改动:

public class Au {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		double sum = 0.0;
		for(int i=1; i<=n; i++){
			sum += 1.0/i;
		}
		System.out.printf("%.2f",sum);
	}

}

输出结果:

100

5.19

如果要求f=1-1/2+1/3-1/4+……+1/n呢?对上面的程序再做改进,引入sign:

public class Au {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		double sum = 0.0;
		int sign = 1;
		for(int i=1; i<=n; i++){
			sum += sign * 1.0/i;
			sign = -sign;
		}
		System.out.printf("%.2f",sum);
	}

}

或者,也可以下面这种方法:

public class Au {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		double sum = 0.0;
		int sign = 1;
		for(int i=1; i<=n; i++){
//			sum += sign * 1.0/i;
//			sign = -sign;
			if( i%2 == 1 ){
				sum += 1.0/i;
			}
			else{
				sum -= 1.0/i;
			}
		}
		System.out.printf("%.2f",sum);
	}

}

求两个数的最大公约数:

public class Au {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		int gcd = 1;
		for(int i=2; i<=a && i<=b; i++){
			if(a%i==0 && b%i==0){
				gcd=i;
			}
		}
		System.out.println(a+"和"+b+"的最大公约数是"+gcd);
	}

}

辗转相除法:

public class Au {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		while(b!=0){
			int r = a % b;
			a = b;
			b = r;

		}
		int gcd = a;
		System.out.println(gcd);
	}

}
时间: 2024-10-01 04:31:41

循环的应用的相关文章

微信小程序学习总结(2)------- 之for循环,绑定点击事件

最近公司有小程序的项目,本人有幸参与其中,一个项目做下来感觉受益匪浅,与大家做下分享,欢迎沟通交流互相学习. 先说一下此次项目本人体会较深的几个关键点:微信地图.用户静默授权.用户弹窗授权.微信充值等等. 言归正传,今天分享我遇到的关于wx:for循环绑定数据的一个tips:  1. 想必大家的都知道wx:for,如下就不用我啰嗦了: <view class="myNew" wx:for="{{list}}">{{item.title}}<view

条件、循环、函数定义、字符串操作练习

注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式. 对前面的代码进行优化,用for,while,if,def实现: 用循环画五角星 1 import turtle 2 3 turtle.fillcolor("red") 4 turtle.begin_fill() 5 for i in range(5): 6 turtle.forward(100) 7 turtle.right(144) 8 turtle.end_fill() 用循环画同心圆

C语言for循环的一些注意细节

在使用for循环接收处理数组的时候,有时候要回到数组的首位置.以前没有注意这个问题,以为循环变量置0就可以,实际不是这样的.先来看一下for循环的反汇编代码,如下: Unit1.cpp.595: for(int i=0;i<3;i++)   00402938 33C0             xor eax,eax   0040293A 8945F4           mov [ebp-0x0c],eax   Unit1.cpp.597: i = 0;   0040293D 33D2     

python基础之条件循环语句

前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python interprets non-zero values as True. None and 0 are interpreted as False. Python 判断非0的值为 True, 而None和0被认为是 False.注意这里的True和False首字母大写,Py

JS循环

JS循环基础知识 [循环结构的执行步骤] 1,声明循环变量: 2,判断循环条件: 3,执行循环体操作: 4,更新循环变量: 然后,循环执行2-4,直到条件不成立时,跳出循环: while循环()中的表达式,运算结果可以是各种类型.但是最终都会转化为真假,转换规则同if结构: ①boolean:true为真,flase为假: ②string:空字符串为假,所有非空字符串为真: ③number:0为假,一切非0数字为真: ④null,undefined,NaN全为假: ⑤object:全为真: wh

shell脚本for循环

Shell循环:for 循环次数是固定的 ===================== Shell: for  变量名  [in  取值列表] do 循环体 done C语言: for((初值;条件;步长)) do 循环体 done ===================== Shell循环:while  until 循环次数不一定是固定的 可以固定 可以不固定 while语句: while  条件测试 do 循环体 done 功能:当条件测试成立(条件测试为真),执行循环体. =========

WordPress主循环(The Loop)函数have_posts(),the_post()详解

WordPress中调用文章标题是the_title();调用文章内容时用到the_content();调用文章的作者时用到the_author();等等这些函数,都需要在主循环中使用,下面就介绍一下如何用have_posts()和the_post()开始Wordpress文章中循环,并说明如何结束循环. 语法 1 <?php if (have_posts()) :  while (have_posts()) : the_post(); ?> 2 当找到文章时返回此语句 3 <?php 

python学习笔记二:if语句及循环语句,断点,模块,pyc

if语句 注意:语句块中的内容要强制缩进,否则出错.IndentationError,缩进错误 所有代码,如果是顶级的,必须顶格写,前面不能有空格 if - : - elif - : - else: - while语句 while -: - else: - for语句 for i in range(10)--i默认0,步长默认1,最大为9 for i in range (0,2,10)--从0开始,步长为2,最大为8 for  i   in range(-): - else: - break--

while与do while 区别 for循环的简介及break和continue的区别

do while 循环和while循环的区别   1.do while循环是先执行循环体,然后判断循环条件,如果为真,则执行下一步循环,否则终止循环:    while循环是先判断循环条件,如果条件为真则执行循环体:   2.do while循环条件后面必须有一个分号,这个分号表明循环结束. 1.for循环 for循环是更加简洁的循环语句,大部分情况下,for循环可以代替while循环.do-while循环. for循环的格式为: for( 初始语句  ; 执行条件  ; 增量 ) { 循环体

4循环嵌套和方法

1 循环嵌套 循环嵌套(多重循环):一个循环结构中的循环体包含其他的循环结构. 任意两种循环结构都可以相互嵌套. for(表达式1;表达式2;表达式3){ for(表达式1;表达式2;表达式3){ } } 特点:外层循环执行1次,内层循环有可能执行多次. 只有当内层循环执行结束后,才会执行下次的外层循环. 示例1:打印3行8列的矩形矩形 public class TestLoop{ public static void main(String[] args){ //外层循环控制行数 for(in