课外天地 李树青学习天地C语言程序设计 → [推荐]第五课代码讲义:循环语句之二


  共有10290人关注过本帖树形打印复制链接

主题:[推荐]第五课代码讲义:循环语句之二

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1939 积分:26594 威望:0 精华:34 注册:2003/12/30 16:34:32
[推荐]第五课代码讲义:循环语句之二  发帖心情 Post By:2015/10/27 13:31:30 [只看该作者]

continue:表示的含义是退出当前循环进入下一轮循环

main( )
{
    int i=0;
    while(i<100)
    {
        i++;
        if(i%2==0)
            continue;
        printf("%d\t",i);
    }
}

continue语句会导致程序可读性下降,通常建议不要使用,除非这种做法极有效率和必要。一般来说,使用其他的方式也能解决问题


break语句:表示的含义是退出循环语句,如输出1到100之间所有的数
main( )
{
    int i=1;
    while(1)
    {
        printf("%d\t",i);
        i++;
        if(i>100)
            break;
    }
}

通常break语句也会导致程序可读性下降,所以建议不要使用,使用其他的方式一般也能解决问题,除非这种做法极有效率和必要。

练习1:打印素数
版本1
main( )
{
    int i,j,number,flag;
    scanf("%d",&number);
    for(i=3; i<=number; i++)
    {
        flag=1;
        for(j=2; j<i; j++)
        {
            if(i%j==0)
                flag=0;
        }
        if(flag)
            printf("%d\t",i);
    }
}

版本2
#include <math.h>
main( )
{
    int i,j,number,flag;
    scanf("%d",&number);
    for(i=3; i<=number; i++)
    {
        flag=1;
        for(j=2; j<=sqrt(i); j++)
        {
            if(i%j==0)
                flag=0;
        }
        if(flag)
            printf("%d\t",i);
    }
}

版本3
#include <math.h>
main( )
{
    int i,j,number,flag;
    scanf("%d",&number);
    for(i=3; i<=number; i+=2)
    {
        flag=1;
        for(j=2; j<=sqrt(i); j++)
        {
            if(i%j==0)
                flag=0;
        }
        if(flag)
            printf("%d\t",i);
    }
}

版本4
#include <math.h>
main( )
{
    int i,j,number,flag;
    scanf("%d",&number);
    for(i=3; i<=number; i+=2)
    {
        flag=1;
        for(j=2; j<=sqrt(i); j++)
        {
            if(i%j==0)
            {
                flag=0;
                break;
            }
        }
        if(flag)
            printf("%d\t",i);
    }
}


练习2:打印星号三角形
main( )
{
    int i,j,line;
    scanf("%d",&line);
    for(i=0; i<line; i++)
    {
        for(j=0; j<line-1-i; j++)
            printf(" ");
        for(j=0; j<(i+1)*2-1; j++)
            printf("*");
        printf("\n");
    }
}


练习3:打印菱形
#include <math.h>

main( )
{
    int i,j,line;
    scanf("%d",&line);
    for(i=-line+1; i<line; i++)
    {
        for(j=0; j<abs(i); j++)
            printf(" ");
        for(j=0; j<2*abs(line-abs(i))-1; j++)
            printf("*");
        printf("\n");
    }
}

练习4:输入0为止,统计平均值
main( )
{
    int i;
    float number=-1,sum=0,count=0;
    while(number!=0)
    {
        scanf("%f",&number);
        if(number==0)
            break;
        sum=sum+number;
        count++;
    }
    printf("%f",sum/count);
}


 


 回到顶部