循环控制结构程序04 零基础入门学习C语言19

第五章:循环控制结构程序04

 

让编程改变世界

Change the world by program


 

问题: 尝试编程输出以下图形

* ** *** **** ***** ****** 分析VS提示: 一共6行, 每行的 ‘*’数目与行号相同 [codesyntax lang="c"]
#include <stdio.h>

void main()
{  
    int i, j;

    for ( i=1; i < 7; i++)
    { 
        printf("n");
        for ( j=1;  j <= i;  j++  )
        {
            putchar('*');
        }
    }
}
[/codesyntax]  

几种循环的比较

  (1) 四种循环都可以用来处理同一问题,一般情况下它们可以互相代替。但一般不提倡用goto型循环。 (2) 在while循环和do-while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++,或i=i+1等)。 for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强凡用while循环能完成的,用for循环都能实现。 (3) 用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成而for语句可以在表达式1中实现循环变量的初始化。 (4)while循环、do-while循环和for循环,可以用break语句跳出循环,用continue语句结束本次循环(break语句和continue语句见下节)。而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。  

例题训练

  题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 [codesyntax lang="c"]
#include <stdio.h>

void main()
{
    int i, j, k;

    printf("n");
    for(i=1;i<5;i++)    /*以下为三重循环*/ 
    {
        for(j=1;j<5;j++)
        {	   
            for (k=1;k<5;k++)    
            {    	
                if (i!=k&&i!=j&&j!=k)  /*确保i、j、k三位互不相同*/     									 
                    printf("%d,%d,%dn",i,j,k);  
            }
        }
    }
}
[/codesyntax] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LQATIFZIYXXC']视频下载[/Downlink]
原文地址:https://www.cnblogs.com/LoveFishC/p/3846936.html