精华内容
下载资源
问答
  • java版的双重循环数字金字塔

    千次阅读 2017-10-17 09:48:49
    数字金字塔虽然是入门时所学的内容,但是几乎都是三循环的,这里的是只有两个循环的,对刚入门的同学来说很不错的。 如果能完全理解这个金字塔如何来的,逻辑思维能力及相关知识的掌握应该很不错了 具体代码如下 ...

    第一次写有啥不对的还请见谅

    进入正题

    数字金字塔虽然是入门时所学的内容,但是几乎都是三循环的,这里的是只有两个循环的,对刚入门的同学来说很不错的。

    如果能完全理解这个金字塔如何来的,逻辑思维能力及相关知识的掌握应该很不错了

    具体代码如下

    package test;
    
    public class jinzita {
    	public static void main(String[] args) {
    		int a = 9, k = 1, temp = 0; // a为循环层数 k为打印数字 temp为临时标记k为减还是加
    		for (int i = 1; i <= a; i++) {
    			for (int j = 1; j < (a * 2); j++) {
    				if (j <= (a - i))
    					System.out.print(" ");
    				else {
    					if (k >= 1) {
    						if (j >= a) {
    							temp = 1;
    						} else
    							temp = 0;
    						if (temp == 0) {
    							System.out.print(k);
    							k++;
    						} else {
    							System.out.print(k);
    							k--;
    						}
    					} else
    						System.out.print(" ");
    				}
    			}
    			k = 1;
    			System.out.println();
    		}
    		System.out.println();
    	}
    }
    

    运行结果如下




    大多数使用的如下

    public class deng {
    public static void main(String args[])
    {
        int n,i,k,j;                    
        for(n=1; n<=9; n++) //n在最外层控制行数 
        {
            for(i=1; i<=9-n;i++)
                System.out.print(" ");
            for(k=1; k<=n; k++)
                System.out.print(k);
            for(j=n-1; j>=1;j--)
                System.out.print(j);
            
            System.out.print("\n");
            
        }
    }
    }

    两种不同方法,结果一样的,第一个理解难度大些,不容易理解,下面这个简单容易理解

    但两者的区别会很大,设第一种为A,第二种为B

    当A和B所需要打印的金字塔层数较少时B所花时间较少,而A所花时间较多,但是随着层数增多,B所花时间会慢慢超过A

    具体为什么会这样子,就留给个位同学吧,这也是为什么我单独写出A这种方法的原因

    展开全文
  • 【C++】读取循环数字和cin的利用

    千次阅读 2015-10-18 22:47:06
    //最多输入10个数字到double数组,程序遇到非数字类型结束。计算平均值与不平均值大的个数 #include const int ArSize = 10; int main() { double charr1[ArSize],num =0,average; int i =0,a=0; using namespace ...
    
    //最多输入10个数字到double数组,程序遇到非数字类型结束。计算平均值与不平均值大的个数
    #include<iostream>
    const int ArSize = 10;


    int main()
    {
    double charr1[ArSize],num =0,average;
    int i =0,a=0;
    using namespace std;
    /* int n;
      cin >>n;
      如果输入一个单词而不是一个数字,会出现4种情况:
      1 n的值保持不变
      2 不匹配的输入将被留在输入队列中
      3 cin对象中的一个错误标记被设置
      4 对cin方法调用将返回false(如果被转换为bool类型)*/

    cout <<"Please enter donation value :\n";
    while(i<10 && cin>>charr1[i])  //设置输入数的范围
    {
    i++;
    };
    for(int j=0;j<i;j++)
    {
    num =num+charr1[j];   //输入数的和
    };
    average=num/((i)*1.0);
    for(int k=0;k<i;k++)
    {
    if(charr1[k]>average)
    a++;
    };
    //cout <<"i = "<<i<<endl;   检错
    //cout <<"charr1[1] ="<<charr1[1]<<endl;  检错
    //cout <<"num = "<<num<<endl;    检错
    cout <<"average = "<<average<<"."<<endl;
    cout <<a<<" numbers is greater than the average."<<endl;
    return 0;
    }
    展开全文
  • 假设要将一系列数字读入到数组中,并允许用户在数组填满之前结束输入。一种方法是利用cin:int n;... 返回false意味着可以用非数字输入来结束读取数字循环。非数字输入设置错误标记意味着必须重置该标记,程序

      假设要将一系列数字读入到数组中,并允许用户在数组填满之前结束输入。一种方法是利用cin:

    int n;
    cin >> n;

      如果用户输入一个单词而不是数字,将发生:

    • n的值保持不变;
    • 不匹配的输入将被保留在输入队列中;
    • cin对象中的一个错误标记被设置;
    • 对cin方法的调用将返回false。

        返回false意味着可以用非数字输入来结束读取数字的循环。非数字输入设置错误标记意味着必须重置该标记,程序才能继续读取输入。clear()重置输入错误标记,同时也重置文件尾(EOF)。输入错误和文件尾都会导致cin返回false。
        


    程序6.13

    #include<iostream>
    const int Max = 5;
    int main()
    {
        using namespace std;
        double  fish[Max];
        cout << "Please enter the weights of your fish.\n";
        cout << "You may ennter up to " << Max
            << " fish <q to terminate>.\n";
        cout << "fish #1: ";
        int i = 0;
        while (i<Max && cin >> fish[i])
        {
            if (++i < Max)
                cout << "fish #" << i + 1 << ": ";
        }
        double total = 0.0;
        for (int j = 0; j < i; j++)
            total += fish[j];
    
        if (i == 0)
            cout << "No fish\n";
        else
            cout << total / i << " = average weight of "
            << i << " fish\n";
        cout << "Done.\n";
        system("pause");
        return 0;
    }

    这里写图片描述


      
    程序6.14

    #include<iostream>
    const int Max = 5;
    int main()
    {
        using namespace std;
        //get data
        int golf[Max];
        cout << "Please enter your golf scores.\n";
        cout << "You must enter " << Max << " rounds.\n";
        int i;
        for (i = 0; i < Max; i++)
        {
            cout << "round #" << i + 1 << ": ";
            while (!(cin >> golf[i])) {
                cin.clear();
                while (cin.get() != '\n')
                    continue;
                cout << "Please enter a number: ";
            }
        }
        //calculate average
        double total = 0.0;
        for (i = 0; i < Max; i++)
            total += golf[i];
        //report results
        cout << total / Max << " = average score " << Max << " rounds\n";
        system("pause");
        return 0;
    }

    这里写图片描述
      
      在程序6.14中,关键部分如下:
      

            while (!(cin >> golf[i])) {
                cin.clear();
                while (cin.get() != '\n')
                    continue;
                cout << "Please enter a number: ";
            }

      如果用户输入88,则cin表达式将为true,因此将一个值放到数组中;而表达式!(cin>>golf[i])为false,因此内部循环结束。然而,如果用户输入must i?,则cin表达式将为false,因此不会将任何值放到数组中;而表达式!(cin>>golf[i])将为true,因此进入内部的while循环。该循环的第一条语句使用clear()来重置输入,如果省略这条语句,程序将拒绝读取输入;接下来,程序在while循环中使用cin.get()来读取行尾之前的所有输入,从而删除这一行中的错误输入。另一种方法是读取到下一个空白字符,这样将每次删除一个单词,而不是一次删除整行。最后程序告诉用户,应输入一个数字。

    展开全文
  • 一,循环语句while while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不...

    一,循环语句while

    while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。while循环语句的语法结构如下:

    while(循环条件){

    执行语句

    ………

    }

    接下来通过一段代码,来实现打印1~4之间的自然数

    WhileDemo.java

    public class WhileDemo {
    	public static void main(String[] args) {
    		int x = 1; // 定义变量x,初始值为1
    		while (x <= 4) { // 循环条件
    			System.out.println("x = " + x); // 条件成立,打印x的值
    			x++; // x进行自增
    		}
    	}
    }
    

    二,循环语句for

    for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。

    for循环语句的语法格式如下:

    for( 初始化表达式;  循环条件;  操作表达式 ){

    执行语句
    ………

    }

    分别用①表示初始化表达式、②表示循环条件、③表示操作表达式、④表示循环体,通过序号来具体分析for循环的执行流程。具体如下:

    for(① ;② ; ③){

        ④

    }

    第一步,执行①

    第二步,执行②,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步

    第三步,执行④

    第四步,执行③,然后重复执行第二步

    第五步,退出循环

    通过一个案例对自然数1~4进行求和,如下所示:

    int sum = 0; // 定义变量sum,用于记住累加的和
    for (int i = 1; i <= 4; i++) { // i的值会在1~4之间变化
    	sum += i; // 实现sum与i的累加
    }
    System.out.println("sum = " + sum); // 打印累加的和
    
    

    三,循环语句do…while

    do…while循环语句和while循环语句功能类似,

    其语法结构如下:

    do {
    执行语句
    ………
    } while(循环条件);


    do…while循环语句将循环条件放在了循环体的后面。

    这也就意味着,循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行


    使用do…while循环语句来实现打印1~4之间的自然数

    int x = 1; // 定义变量x,初始值为1
    do {
    	System.out.println("x = " + x); // 打印x的值
    	x++; // 将x的值自增
    } while (x <= 4); // 循环条件
    


    四,无限循环

    最简单无限循环格式:

    while(true){} 

    for(;;){}

    for(;true;){}


    五,循环嵌套

    嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。

    while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,

    如最常见的在for循环中嵌套for循环,格式如下:

    for(初始化表达式; 循环条件; 操作表达式) {

    ………

    for(初始化表达式; 循环条件; 操作表达式) {

    执行语句
    ………

    }
    ………
    }

    使用案例:

    int i, j; // 定义两个循环变量
    for (i = 1; i <= 9; i++) { // 外层循环
    	for (j = 1; j <= i; j++) { // 内层循环
     		System.out.print("*"); // 打印*
    	}
     	System.out.print("\n"); // 换行
    }


    跳转语句(break,continue)

    1、 break语句
    在switch条件语句和循环语句中都可以使用break语句。

    当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。

    当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。


    接下来通过下面一段代码,实现将当变量x的值为3时,使用break语句跳出循环,

    代码如下所示:

    int x = 1; // 定义变量x,初始值为1
    while (x <= 4) { // 循环条件
    	System.out.println("x = " + x); // 条件成立,打印x的值
    	if (x == 3) {
    		break;
    	}
    	x++; // x进行自增
    }
    

    关于break的标记的用法

    当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环。

    如果想使用break语句跳出外层循环则需要对外层循环添加标记。

    接下来将代码稍作修改,控制程序只打印4行“*”,如下所示:

    int i, j; // 定义两个循环变量
    	itcast: for (i = 1; i <= 9; i++) { // 外层循环
    		for (j = 1; j <= i; j++) { // 内层循环
    			if (i > 4) { // 判断i的值是否大于4
    				break itcast; // 跳出外层循环
    			}
    		System.out.print("*"); // 打印*
    	}
    	System.out.print("\n"); // 换行
    }
    
    其用法用点类似C/C++中的goto


    猜数字案例
    目的:为了让前面学的用起来

    案例介绍

    猜数字案例是要完成什么样的功能呢?顾名思义,这个游戏就是你出个数字、我来猜。

    游戏操作如下:

    代码中预先生成一个1-100之间的随机数,用户键盘录入猜数字

    如果猜对了,打印“恭喜您,答对了”

    如果猜错了

    猜大了:打印“sorry,您猜大了!”

    猜小了:打印“sorry,您猜小了!”

    直到数字猜到为止,退出程序

     

    案例要使用如下知识点:

    1)随机数类Random

    2)选择结构if

    3)循环结构while

    GuessNumber.java

    public class GuessNumber {
    	public static void main(String[] args) {
    		//1.通过Random类中方法nextInt(),生成一个1-100之间的随机数
    		int randomNumber = new Random().nextInt(100);
    		System.out.println("随机数已生成!");
    		//2.输入猜的数字
    		System.out.println("----请输入您猜的数字:----");
    		Scanner sc = new Scanner(System.in);
    		int enterNumber = sc.nextInt();
    		//3.通过while循环,进行猜数字对错判断
    		//猜对,跳出循环,游戏结束
    		while(enterNumber != randomNumber){
    			//猜错了,根据结果,给出提示,接着猜数字,游戏继续
    			if(enterNumber>randomNumber) { 
    				//如果猜大了,打印sorry,您猜大了!继续下一次循环
    				System.out.println("sorry,您猜大了!继续下一次循环");
    			}else {
    				//如果猜小了,打印sorry,您猜小了!继续下一次循环
    				System.out.println("sorry,您猜小了!继续下一次循环");
    			}
    			//输入猜的数字
    			System.out.println("----请输入您猜的数字:----");
    			enterNumber = sc.nextInt();
    		}
    		System.out.println("恭喜您,答对了!");
    	}
    }
    




    展开全文
  • 输入一组正整数,以-1作为结束标记,统计整数的个数,并计算其平均值。 思路分析: 设定循环条件为这个数不为-1 代码实现: # include int main ( ) { int n = 0 , m = 0 , sum = 0...
  • C语言,以空格为分割,以回车为结束标记,输入一串数字到一个int数组中
  • 真心不好意思,为了防止CSDN把我的彩色“恒”弄成灰白的,每月预先会标记几篇博客充数哈哈。 不自恋了,这篇说说循环列表框的实现思路。 我们知道,cocos2d-x扩展里面提供了一个CCScrollView的实现,这东西写的还...
  • 标记

    千次阅读 2013-07-18 22:22:34
    每个对象除了属性和方法,都有一个monitor(互斥锁标记),用来将这个对象交给一个线程,只有拿到monitor的线程才能够访问这个对象。 Synchronized:这个修饰词可以用来修饰方法和代码块   Object obj; Obj....
  • python中while循环结构

    2019-09-05 17:10:07
    #打印0-10的数字 num=0 while num<=10: print(num,end="\t") num+=1 #计算0-100之间的累加和 num=0 sum=0 while num<... num += 1 #必须要有循环退出的标记,否则就会陷入死循环 print(sum) ...
  • 版本号标记

    2014-09-06 10:35:27
    这是一个处理需要反复标记的问题的一个小技巧,以一个ACM形式的题目为例:  输入:第一行是一个数字N,表示N个case,之后每个case第一行是一个数字M,表示这个case有M个数字输入,接下来是M个数字,每个数字范围是...
  • 形态学处理,除了最基本的膨胀、腐蚀、开/闭运算、黑/白帽处理外,还有一些更高级的运用,如凸包,连通区域标记,删除小块区域等。 1、凸包 凸包是指一个凸多边形,这个凸多边形将图片中所有的白色像素点都包含在内...
  • 循环的中断与无限循环

    千次阅读 2008-11-13 08:18:00
    break-----立即终止循环,继续执行循环后面的第一行代码continue-----立即终止当前的循环(继续执行下一次循环)goto-----可以跳出循环,到已标记好的位置上(如果希望代码易于阅读和理解,最好不要使用该命令)return-----...
  • 从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关...这篇文章将详细讲解循环神经网络RNN的原理知识,并采用TensorFlow实现手写数字识别的RNN分类案例及可视化呈现。基础性文章,希望对您有所帮助!
  • Struts标记

    千次阅读 2006-03-29 13:57:00
    Struts标记库 JSP视窗组件所使用的struts标记库由四类标记组成: 2. Bean标记:用来在JSP页中管理bean 3. 逻辑标记:用来在JSP页中控制流程 4. HTML标记:用来生成HTML标记,在表单中显示数据,使用会话ID对URL进行...
  • Java 8 开始,我们有多个强大的新方法可以帮助我们简化复杂的迭代。在本文中,您将了解如何使用 InStream 方法、range、iterate 和 limit 来...java8以前一个for循环这样写的: public class Demo { public st...
  • Shell中的循环结构

    千次阅读 2019-06-30 22:07:00
    for循环通常用于遍历整个对象或者数字列表。按照循环条件的不同,for循环语句可以分为带列表的for循环、不带列表的for循环以及类C风格的for循环。本节将介绍这3种不同的for循环结构。 带列表的for循环语句 带列表的...
  • 2.2.3 RUNAROUND NUMBERS 循环

    千次阅读 2014-10-28 09:18:07
    PS:最近工作比较忙,所以把以前在学校做acm的时候写的一些解题报告发出来 ...题目大意:(如题) 输入输出:(如题) 解题思路:从开始数后一个数往后枚举,然后判断其是不是循环数,如果是就输出退出。
  • 姿态估计是非常重要的在许多计算机视觉应用程序:机器人导航、增强... 这些标记的主要好处是一个标记提供了足够的通讯(四角)获得相机的姿势。 同时,内部二进制编纂使他们特别健壮,允许应用错误检测和校正技术的可能性。
  • 能模仿韩寒小四写作的神奇循环神经网络

    万次阅读 多人点赞 2016-04-26 19:32:19
    我们知道卷积神经网络在0-9数字识别上已经能有人类的识别精确度了,但是对于一连串的数字,还是得有一些特殊的处理的。比如说,下面是让RNN学会了从左到右读数字门牌号。 我们也能让RNN学着从右到左...
  • JAVA语言循环结构

    千次阅读 2019-01-21 22:51:07
    JAVA循环语句 循环四要素: 循环初始化:一条或多条语句,这些语句完成一些初始化操作,让循环开始执行 循环继续条件:控制循环是否继续或结束的条件 循环体:需要被循环执行的代码 循环步长(间距,周期):当前...
  • Struts标记

    千次阅读 2004-10-30 10:20:00
    Struts标记库 -------------------------------------------------------------------------------- Schensheng913 [原作] JSP视窗组件所使用的struts标记库由四类标记组成: 2. Bean标记:用来在JSP页中管理...
  • 执行循环链接列表 应用链接列表以解决编程问题 现在,考虑一个示例,您需要以降序的方式显示这些数字。 如何解决此问题? 每一个节点链接到序列中的下一个节点,这意味着您只能以正向遍历列表,这样的链接列表称为...
  • Java程序设计的基本结构 - 循环结构

    千次阅读 多人点赞 2019-12-25 11:04:08
    本文关键字:基本结构、循环结构、while、do-while、for。为了讲解方便,我们可以将循环结构划分为四个部分来进行描述。当然,这四个部分并不是都要出现,甚至在都不出现时也可以构成一个循环结构。并且,对于不同的...
  • Freemarker标记用法

    千次阅读 2012-08-03 11:48:03
    FreeMarker模板包含FreeMarker的指令的文件就称为模板(Template)。 模板设计者不关心数据从那儿来,只知道使用已经建立的数据模型。 数据模型由程序员编程来创建,向模板提供变化的信息,...数字:直接使用数值。
  • MATLAB二值图连通域快速标记算法

    千次阅读 2019-10-16 11:26:59
    MATLAB二维/三维二值图像连通域的快速标记算法。避开MATLAB函数库,方便改写为C/C++。
  • Redis 中的事件循环

    千次阅读 2016-12-28 09:57:52
    在目前的很多服务中,由于需要持续接受客户端或者用户的输入,所以需要一个事件循环来等待并处理外部事件,这篇文章主要会介绍 Redis 中的事件循环是如何处理事件的。 在文章中,我们会先从 Redis 的实现中分析...
  • php基础教程 第七步数组补充及循环基础

    千次阅读 多人点赞 2020-07-13 22:27:18
    在上一节中,我们知道索引是用来标记值的位置,通过索引可以取得当前位置的值。这种一个索引对应着一个值的关系是一个映射关系,称为键值对。键指的是索引,值指的是具体值。在某些编程语言中,这种关系的数组称为...
  • HTML文档的常用标记

    千次阅读 多人点赞 2015-07-20 15:14:40
    有序列表标记将各个列表项使用编号而不是用符号来表示,在有序列表中的项目通常都是有先后顺序的,一般采用的是以数字或字母为顺序号。其语法格式如下: 第一项 第二项 第三项 ...... 其中<ol></ol>标记表示...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 133,693
精华内容 53,477
关键字:

循环标记里的数字