精华内容
下载资源
问答
  • public class TestFor21{ public static void main(String[] args){ /* 百钱买百鸡: 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, 用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡...
    public class TestFor21{
    	public static void main(String[] args){
    		                /*
    百钱买百鸡:
    公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
    用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
    数学:
    设未知数:
    公鸡:x只
    母鸡:y只
    小鸡:z只
    x+y+z=100只
    5x+3y+z/3=100钱
                           
            for(int x=1;x<=100;x++){
    			for(int y=1;y<=100;y==){
    				for(int z=1;z<=100;z==){
    					if((x+y+z==100)&&(5*x+3*y+z/3==100)&&(z%3==0)){
    						System.out.println(x+"\t"+y+"\t"+z);
    					}
    				}
    			}
    		}
            */
            //优化:
    		for(int x=1;x<=19;x++){
    			for(int y=1;y<=31;y++){
    				int z =100-x-y;
    				if((5*x+3*y+z/3==100)&&(z%3==0)){
    					System.out.println(x+"\t"+y+"\t"+z);
    				}
    			}
    		}
    	}
    }
    

    在这里插入图片描述

    展开全文
  • c语言三种循环

    千次阅读 2020-11-26 14:07:32
    循环语句 一、for循环 for(表达式1;表达式2;表达式3)//注意用分号(;)而不是逗号 { 循环体语句… } 表达式1:变量赋值,只执行一次 表达式2:循环条件,一般为关系表达式和逻辑表达式,为真怎进入循环,为假...

    循环语句

    一、for循环
    for(表达式1;表达式2;表达式3)//注意用分号(;)而不是逗号
    {
    循环体语句…
    }
    表达式1:变量赋值,只执行一次
    表达式2:循环条件,一般为关系表达式和逻辑表达式,为真怎进入循环,为假结束
    表达式3:循环变量变化区,通常用来修改控制变量的值,循环体语句执行完,就会执行语句3,再执行表达式2,构成循环

    for 语句的表达式1,表达式2和表达式3都可以按照需要进行省略,但分号不能省,其中可以是包括但不限以下的任何一种形式
    for ( ; 表达式2; 表达式3)
    for (表达式1; 表达式2; )
    for (表达式1; ; )
    for ( ; ; )
    其中需要注意的是最后一个表达式,他实际上代表的是一个死循环。在程序中有死循环的存在并不代表着程序一定出现了错误,因为有的情境下需要死循环,如一个服务不停地向用户发送一个请求之类的。
    

    for循环结构图

    for语句实例:求sum=1+2+3+…99+100

    #include <stdio.h>
    
    int main()
    {
    	int i,sum=0;
    	
    	for(i=1;i<=100;i++)//(语句1;语句2;语句3) 
    	{
    		sum=sum+i;//循环体语句 
    	}
    	printf("sum的值为:%d",sum);
    	return 0;
     } 
    

    二、while循环

    while(表达式)
    {
    循环体语句;
    }

    while语句执行的时候,只要满足表达式条件,循环就会一直进行下去,直到条件不满足,跳出循环.
    在这里插入图片描述

    while语句实例:求sum=1+2+3+…99+100

    #include<stdio.h>
    int main()
    { 
    	int i=1,sum=0;
    	
    	while(i<=100)
    	{
    		sum=sum+i;
    		i++;
    	}
    	printf("%d",sum);
    	return 0;
    }
    

    三、do while循环

    do
    {
    循环体语句;
    }
    while(表达式);

    执行循环体语句,当循坏条件成立时,继续执行循环体语句;当循环条件不成立时,循环结束。因此,也成为直到型循环。

    do…while循环语句中,在while括号后,要加分号(;),否则会出现报错。

    在这里插入图片描述
    do while语句实例:求sum=1+2+3+…99+100

    #include<stdio.h>
    int main()
    {
    	int i=1,sum=0;
    	do
    	{
    		sum=sum+i;
    		i++;
    	}
    	while(i<=100);
    	printf("%d",sum);
    } 
    

    总结

    同:①3种循环都可以用来处理同一问题,一般情况下它们可以互相代替。
    ②while循环、do……while循环和for循环都可以用break语句跳出循环,用 continue语句结束本次循环。 异:用while和do……while循环时,循环变量初始化的操作应在while和do……while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。

    for(表达式1;表达式2;表达式3)
    注:在while循环和do……while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++或i=i+1等)。
    for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中.因此for语句的功能更强,凡是用while循环能完成的,用for循环都能实现。所以for循环在实际操作中应用的更多。

    展开全文
  • 总结 C语言20题 问题描述 【问题描述】输入两个三位数m和n(m 【输入形式】由小到大的两个三位整数 【输出形式】提示信息"Narc No:"及0或多个水仙花数,用空格分隔 【样例输入】100 400 【样例输出】Narc No:153 370...

    总结 C语言20题

    问题描述

    【问题描述】输入两个三位数m和n(m<n),求出该区间内所有的水仙花数。
    【输入形式】由小到大的两个三位整数
    【输出形式】提示信息"Narc No:"及0或多个水仙花数,用空格分隔
    【样例输入】100 400
    【样例输出】Narc No:153 370 371

    代码

    #include<stdio.h>
    #include<math.h>
    int main(void) {
    	int m,n,i;
    	int a,b,c,t=1,count=0;
    	scanf("%d%d",&m,&n);
    		for(i=m; i<=n; i++) {
    			a=i/100;
    			b=(i%100)/10;
    			c=i%10;
    			if(i==pow(a,3)+pow(b,3)+pow(c,3)) {
    				if(t==1) {
    					printf("Narc No:%d ",i);
    					t++;
    					count++;
    				} else {
    					printf("%d ",i);
    					count++;
    				}
    			}
    		}
    	if(count==0){
    		printf("Narc No:");
    	}
    	printf("\n");
    	return 0;
    }
    

    实验结果

    在这里插入图片描述

    展开全文
  • C语言中的三种循环

    2020-07-23 15:05:58
    C语言循环可分为3中,while循环、do - while循环、for 循环。 一、while循环 while即:首先检查启动循环的条件是否满足,当条件满足时,不断地重复循环体内的语句,直到不满足条件就退出。 while循环基本形式: ...

    C语言中的三种循环

    在C语言中循环可分为3中,while循环、do - while循环、for 循环。

    一、while循环

    while即:首先检查启动循环的条件是否满足,当条件满足时,不断地重复循环体内的语句,直到不满足条件就退出。

    while循环基本形式:

    while(条件)
    {     
    <循环体>;
    <循环体>;
    }
    

    eg: 1

    //输入任意个int型,整数并判断其位数#include int main()

    {
    
        int x;
    
        intn=0;
    
        scanf("%d",&x);
    
        n++;
    
        x /=10;
    
        while(x >0){
    
            n++;
    
            x /=10;
    
        }
    
        printf("%d\n",n);
    
        return0;
    
    }
    

    eg: 2

    //判断输入的位数/*
    1.用户输入x;
    
    2.初始化n为03.x = x/10,去掉个位;
    
    4.n++;
    
    5.如果 x>0,回到36.否则n就是结果; */
    
    #include int main()
    
    {
    
        int x;
    
        intn=0;
    
      scanf("%d",&x);   
       n++;//n=1
      x /=10;//对输入的数进行取整数商,得到的 x放入while循环中 
      while(x >0){//判断 x 是否大于零,满足条件则执行大括号中的语句  
      n++;//n=2
      x /=10;
    
        }
    
        printf("%d\n",n);
    
        return0;
    
    }
    
    

    eg: 3

    //输入一个数,计算阶乘(while方法)
    
    #include int main()
    {
        intn;//定义变量n为输入的数 
        scanf("%d",&n);//读入输入的数 
        intfact =1;//定义变量fact保存程序的结果 (初始化)
        inti =1;//定义变量 i 作为循环条件 (初始化)
         while(i <= n){
            fact *= i;
            i ++;
        }
        printf("%d!=%d\n",n,fact);
        return0;
    }
    

    二、do while 循环

    do while 即:进入do while 前不做检查,而是在执行完一轮循环后再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足则结束循环。

    do while 循环至少是要被执行一次的!

    基本形式:

    
    do
    {
    <循环体>;
    <循环体>;
    }
    while (<条件>);      //在while大括号后面必须要有括号
    

    while循环和do while 循环的区别:while循环是先判断条件, do while 循环是在执行了一轮循环后再来判断条件,无论条件是否满足do while 都至少会被执行一轮,

    而while循环是条件满足执行,不满足结束循环。

    eg:

    //判断任意位数(do -while方法)#include int main()
    
    {
    
        int x;
    
        intn=0;
    
        scanf("%d",&x);
    
        do    {
    
            x /=10;
    
            n ++;
    
        } while( x >0);
    
        printf("%d\n",n);
    
        return0;
    
    }
    
    

    三、for 循环

    for循环类似一个计数循环,设定一个计数器,初始化它,然后在计数器到达某值之前重复执行循环体,同时每执行一轮循环,计数器值以一定步进进行调整。

    for(初始动作,条件,每轮的动作){
    
    <循环体>;
    
    <循环体>;
    
    }
    

    小套路:做求和程序时,记录结果的变量应该初始化为0;而做求积的 程序时,记录结果的变量应该初始化为1.

    while循环和for 循环可以说是等价的,任何一个for循环都可以改造成while循环

    //while循环和for 循环可以说是等价的,任何一个for循环都可以改造成while循环for(inti=1, i <=n, i ++){
    
        fact  *= i;
    
    }
    
                |||||||            |||||||
                inti =1;
                while( i <=n )
                {
    
        fact *=i;
    
        i ++;
    
    }
    

    eg:

    //输入一个数,计算阶乘(for方法) #include int main()
    
    {
    
        int n;
    
        scanf("%d",&n);
    
        intfact =1;
    
    
    
        inti =1;//定义变量 i 初始值为1 for(i=1; i<=n; i++ ){
    
            //i=1作为初始条件 ,i<=n是循环继续的条件,i++是 循环每一轮要做的事情 /* 例如我前面输入的变量 n 等于4,当执行到 for 循环时。首先计算机会将变量 i=1 作为初始值,如果 i 小于等于4就执行循环,即执行循环体的语句块,最后再来执行 i++, 反之就跳出循环*/
    
            fact *= i;
    
        }
    
        printf("%d!=%d\n",n,fact);
    
        return0;
    
    }
    
    

    总结:如果程序循环的次数,有固定次数用for;

    如果必须执行一次,用do - while;

    其它情况用while;
      
    C语言/C++学习交流群:QQ群

    展开全文
  • 数据结构---三重循环的语句频度

    千次阅读 2020-12-02 23:01:48
    题目 计算下列程序段种x = x +...(出自:《数据结构——用C语言描述》(第二版) 耿国华著) 首先我们看另一个题目:执行下面程序,求语句S的执行次数。 for( i = 1 ; i <= n ; i++ ) //设为语句1 for( j = 1 ;
  • 3分钟,学会C语言的while、for、多重循环

    千次阅读 多人点赞 2021-04-29 13:31:00
    我们可以使用循环结构来完成。 循环的概念: 按照一定的条件,重复执行某个程序段。 循环的类型: 计数循环:循环一定次数才结束。 条件循环:循环直到某种条件不成立才结束。 while循环: while,当……的时候。...
  • 多重循环就是在循环结构的循环体中又出现循环结构。 在实际开发中一般最多用到三层重循环。因为循环层数越多,运行时间越长,程序越复杂,所以一般用2-3层多重循环就可以了。 另外不同循环之间也是可以嵌套的。 多重...
  • 水仙花数--C语言,for循环,while 循环

    万次阅读 多人点赞 2019-11-21 19:45:12
    //进入循环体,控制具体范围,也可以用for循环,表达方式有差异; { a = i / 100 ; //求百位数 b = i / 10 % 10 ; //求十位数 c = i % 10 ; //求个位数 if ( i == ( pow ( a , 3 ) + pow ( b ...
  • 1、熟悉循环结构的循环控制部分和循环体部分; 2、掌握for语句、while语句、do…while语句的使用,并能相互代替; 3、熟悉累加、分类统计等算法,能根据实际需要构建循环语句; 4、掌握多重循环的使用,能够熟悉应用...
  • 题目: 判断 101-200 之间有多少个... if(i==n) //对内层循环结束的判断,i=n表示n值为素数 { printf("%4d",n); sum_i++; } } printf("\n101-200之间有%d个素数",sum_i); return 0; } 运行结果:
  • #include&amp;amp;lt;stdio.h&amp;amp;gt; int main() { int i, j, k; { for (i = 1; i &amp;amp;lt; 9; i++) {for (j = 0; j &amp;amp;lt; 9; j++) { for (k = 0;...{printf
  • C语言】用循环语句输出菱形

    万次阅读 多人点赞 2015-04-17 22:52:05
    //用循环语句输出菱形 #include int main() { int i,j; for(i=0;i;i++) //上4行 { for(j=0;j;j++) //上4行的左边 { if(i+j) printf(" "); else printf("*"); } for(j=4;j;j++) //上4行
  • C语言 枚举与循环

    2015-12-16 15:28:51
    循环结构,在特定条件下,重复执行代码若干次  */       // 分支结构语句  if 语句  switch 语句   /*  if ( 表达式 ) {   语句块  }    if ( ...
  • c语言循环优化

    千次阅读 2014-01-13 11:53:27
    C语言常规优化策略 3 循环优化 提高程序效率的核心是对影响代码执行速度的关键程序段进行优化。在任何程序中,最影响代码速度的 往往是循环语句,特别是多层嵌套的循环语句。因此,掌握循环优化的各种实用...
  • C语言编程3 循环结构

    2014-10-21 20:22:39
    三重循环 分别 i, j, k 分别代表百位 , 十位 , 个位 // for (int i = 1; i ; i++ ) { // for (int j = 0; j ; i++) { // for (int k = 0; k , k++;) { // // 求个位方立和 ...
  • 1. 使用do-while循环实现从1到100的累加 #include <stdio.h> int main() { int i=1,sum=0; do{ sum = sum + i; i++; }while(i<=100); printf("sum = %d\n",sum); return 0; } 这种累加方法效率...
  • 循环结构及多重循环结构

    千次阅读 2021-08-03 09:28:55
    循环结构: 1.while(条件){//为ture运行 代码} 当while条件不是数值型,不能通过数值来判断时,需要在上面格式添加代码 while(条件){ System.out.println("结果") System.put.println(再次输入同一条件) ...
  • 它的原理就是把前i个长度的序列变成有序序列,然后循环迭代,直至整个序列都变为有序的。但是说来说去它还是一个时间复杂度为(n^2)的算法,难道就不能再进一步把时间复杂度降低一阶么? 确实,以上几种算法相对于之前的O...
  • 循环的嵌套 【例6.7】 #include "stdio.h" void main() { int i, j, k; printf("i j k\n"); for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { for (k = 0; k < 2; k++) { ...
  • 小甲鱼零基础入门学习python笔记

    万次阅读 多人点赞 2019-08-14 11:06:30
    也让脚本语言另有一些属于脚本语言的特性: • 语法和结构通常比较简单 • 学习和使用通常比较简单 • 通常以容易修改程序的“解释”作为运行方式,而不需要“编译” • 程序的开发产能优于运行性能 一个脚本可以...
  • 【个人理解】计算for三层嵌套循环的时间复杂度

    万次阅读 多人点赞 2018-11-04 21:03:28
    m=0 for(i=1;i;i++) for(j=1;j;j++) for(k=1;k;k++) m++; ...可以观察到,第i次循环次数是一个有规律的数列: 1, 3, 6, 10,......,因此三重循环的时间复杂度是 .        
  • 因所买3种鸡的数量为100只,可以使用三重循环从1到100分别试算。不使用其他算法分析,可直接编写程序,一类鸡的数量都可以从 0到100再判断鸡的总数和用钱的总数是否等于100,若100,则找到一个答案:否则继...
  • continue:跳过循环这一轮剩下的语句进入下一轮循环。 100以内的素数 问题描述 输出100以内的素数。 思路 变量->算法->流程图->程序 算法: 1、初始化变量x=2; 2、判断x是不是素数; 3、如果x是...
  • 1、顺序结构 顺序结构就是程序按照语句的先后顺序来依次执行,执行的过程就是从第一个可执行语句...在C语言中选择结构是由if语句和switch语句实现的。 if语句 if语句根据使用的情况不同,又分为单分支、双分支、多...
  • 然后通过外层循环加以条件限制) 对于百鸡百钱问题,只需要采用三重循环结构,并在最内层的循环体中,针对每一组i、j、k的取值组合,判断两个方程所代表的等式是否成立。 (就是找出来所有可能,然后根据条件判断...
  • 5.2 使用for语句实现循环结构 5.2.1 for语句的基本语法 5.2.2 for循环使用示例 5.3 使用while语句实现循环结构 5.3.1 while语句的基本语法 5.3.2 while循环使用示例 5.4 使用do-while语句实现循环结构 5.4.1 ...
  • 数据结构实验三_串基本操作的编程实现(C语言

    千次阅读 多人点赞 2019-04-24 00:05:19
    串基本操作的编程实现,掌握串的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、合并、剪裁等操作,存储结构可以在顺序结构或链接结构、索引结构中任选,也可以全部实现。也鼓励学生利用...
  • 三重循环,复杂度是n的三次方 #include #define N 10 //N是序列的的个数 int num[N]={5,6,7,8,-9,1,2,3,4,0}; void main(){ int thissum,maxsum = 0; int i,j; for(i=0;i;i++){ thissum = 0; for(j=i;j;j++...
  • } } } } } 执行结果 虽然上述程序很简单,但分析一下可知,此程序为三重循环,循环次数为1013=1030301,为106量级。如果改为“万钱买万鸡”,循环次数将达到10^12量级,计算量太大,这正是穷举法的缺点。 为此,...
  • C语言联想到的:三重for循环实现对二维数组的按列排序,并且牵扯到数据结构。 自己写的,水平有限,本文属于原创,可能存在错误,忘指正~ function circle() { var a = [ [1, 4, 3, 2], [8, 6, 5, 7], ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,151
精华内容 860
热门标签
关键字:

c语言三重循环结构

c语言 订阅