第7章 c控制语句分支和跳转

求出温度第一零度的天数的百分率
#include <stdio.h>

void main()

{

    const int FREEZING = 0;

    float temprature ;

    int cold_dat = 0;

    int all_days= 0;

    printf("Enter the list of daily low temperature \n");

    printf("Use celsius and enter q to quit .\n");

    while (scanf ("%f",&temprature) == 1)

    {

        all_days++;

        if (temprature < FREEZING) {

            cold_dat ++;


        }

    }

    if (all_days != 0) {

        printf("%d day total : %1.f  %% were below freezing .\n",all_days,100.0* (float)cold_dat/all_days);


    }

    if (all_days == 0) {

        printf("%d no data entered" );

    }

}



if只要不为0 就打开。

#include <stdio.h>

void main()

{

    if (-1) {

        printf("hello =  -1");


    }

    if (0) {

        printf("hello =0");


    }

    if (-1) {

        printf("hello =  -1");


    }

     printf("hello =  0");


}








改变输入,只保留其中的空格

#include <stdio.h>

#define SPACE ' '

void main()

{

    char ch ;

    ch =getchar();

    while (ch != '\n') {


        if (ch == SPACE) {

            putchar(ch);

        }

        else  {

            putchar(ch +1);

        }

        ch =getchar();

    }




}


#include <stdio.h>

#define SPACE ' '

void main()

{

    char ch ;


    while ( (ch = getchar() )!= '\n') {


        if (ch == SPACE) {

            putchar(ch);

        }

        else  {

            putchar(ch +1);

        }


    }




}








改变输入,只保留非字母字符

#include <stdio.h>

#include <ctype.h>

void main()

{

    char ch;

    while ((ch = getchar()) != '\n') {

        if (isalpha(ch)) {

            putchar(ch +1);

        }

        else

        {

            putchar(ch);

        }

    }

    putchar(ch);//打印换行字符



}





j计算用电账目

#include <stdio.h>

#define RATE1 0.12589

#define RATE2 0.17901

#define RATE3 0.20971

#define BRESK1 360.0

#define BRESK2 680.0

#define BASE1 (RATE1*BRESK1)

#define BASE2 ( BASE1 + (RATE2 * ( BRESK2 - BRESK2)))

void main()

{

    double kwh;

    double bill;

    printf("please  enter the kwh used .\n" );

    scanf("%lf",&kwh);

    if (kwh <= BRESK1) {

        bill =RATE1 * kwh;


    }

    else if (kwh <= BRESK2)

    {

        bill =BASE1 + (RATE2 * (kwh - BRESK1));


    }


    else bill = BASE2 + ( RATE3 * (kwh - BRESK2) );



    printf("the chare for %.1f kwh is $ %.2f .\n",kwh , bill);

}



使用嵌套if 现实一个数的约数
#include <stdio.h>

#include <stdbool.h>

main()

{

    unsigned longnum ,  div;

    bool isPrme;

    printf("Please enter an integer for analysis ");

    printf("enter q to qutie .\n");

    while (scanf("%lu",&num ) ==1  ) {

        for (div = 2 , isPrme = true ; (div * div) <= num ; div++)

        {

            if (num %div ==0) {

                if ((div *div) != num)

                {

                    printf("%lu is divisidle by %lu and %lu .\n",num,div ,num/div  );

                }

                else printf("%lu is divisivle %lu .\n ", num ,div);


            }

            isPrme =false;


        }

        if (isPrme) {

            printf("%lu is prime .\n",num);


        }


        printf("Please enter an integer for analysis ");

        printf("enter q to qutie .\n");

    }

    printf("bey.\n");

}






#include

#define PERIOD '.'

void main()

{

    int ch , charcount = 0 ;

    while ((ch = getchar()) != PERIOD  ) {

        if (ch != '"' && ch != '\'')

            charcount ++ ;

    }

    printf("There are %d non-quote character .\n",charcount);

}

统计字符 单词和行

#include <stdio.h>

#include <ctype.h>

#include <stdbool.h>

#define STOP '|'

void main()

{

    char c , prev ;

    long n_chas = 0L;

    intn_lines  =0;

    int n_words = 0;

    int n_plines = 0;

    bool inword = false;

    printf ("Enter text to be analyzed \n") ;

    prev ='\n';

    while ((c = getchar() != STOP)) {

        n_chas ++;

        if (c == '\n') {

            n_lines ++;

        }

        if ( !isspace(c) && !inword)

        {

            inword =true;

            n_words ++;

        }

        if(    isspace(c) && inword)

        {

            inword =false;

        }

        prev = c;

    }

    if (prev != '\n') {

        n_lines =1;

    }

    printf("character = %ld , words  = %d , lines = %d ", n_chas,n_words ,n_lines );

    printf("partial lines = %d \n", n_lines);

}

三木运算符

#include <stdio.h>

#define COVERAGE 200

 void main()

{

    int sq_feet ,cans ;

    printf("Enter number of square feet to be painted :\n");

    while (scanf("%d" , &sq_feet) == 1  ) {

        cans = sq_feet /COVERAGE;

        cans += ((sq_feet %COVERAGE == 0))? 0 : 1;

        printf(" your need %d %s of paint .\n",cans ,cans == 1 ? "can " : "cans");

        printf("enter next value (q to quit ) \n");

    }

}




continue 



#include <stdio.h>

#define COVERAGE 200

 void main()

{

    const float MIN = 0.0f ;

    const float MAX = 100.0f;

    float score ;

    floattotal  =0.0f;

    int n = 0;

    float min = MAX;

    float max = min;

    printf("Enter the first score (q to quit )");

    while (scanf("%f",&score ) == 1) {

        if (score < MIN || score > MAX) {

            printf("%0.1f is an invalid value try again ", score );

            continue ;

        }

        printf("Accepting %0.1f \n",score);


    }

    if (n > 0) {

        printf("Average of %d scores is %0.1 f .\n",n,total/n);

        printf("low = %0.1f , high = %0.1f \n ",min ,MAX);

    }

    else

        printf(" no valid \n");


}

inu




#include <stdio.h>

#define COVERAGE 200

 void main()

{

    const float MIN = 0.0f ;

    const float MAX = 100.0f;

    float score ;

    floattotal  =0.0f;

    int n = 0;

    float min = MAX;

    float max = min;

    printf("Enter the first score (q to quit )");

    while (scanf("%f",&score ) == 1) {

        if (score < MIN || score > MAX) {

            printf("%0.1f is an invalid value try again ", score );

            continue ;

        }

        printf("Accepting %0.1f \n",score);

        min = (score < min )? score : min ;

        max = (score > max )? score : max;

        total += score ;

        n ++ ;

        printf("enter netxt score (q to quit )");

    }

    if (n > 0) {

        printf("Average of %d scores is %0.1 f .\n",n,total/n);

        printf("low = %0.1f , high = %0.1f \n ",min ,MAX);

    }

    else

        printf(" no valid \n");


}


使用break 退出循环

#include <stdio.h>

 void main()

{

    float lengh , width ;

    printf("Length  the length of the rectangle \n");

    while (scanf("%f" , &lengh) == 1) {

        printf("length = %0.2f",lengh);

        printf("Enter its width \n");

        if (scanf("%f",&width) != 1) {

            break;

        }

        printf("Width = %0.2f \n",width);

        printf("Area = %0.2f :\n ",lengh * width);

        printf("enter the length of the rectangle \n");


    }

    printf("Done .\n");


}











GOTO 语句



#include <stdio.h>

 void main()

{

    int num;

    float cost = 12.0;

    scanf("%d",&num );

    if (num > 12 ) {

        goto a;


    }

    goto b;

a:  cost = cost *1.05;

    printf("cost = %f \n " , cost);

b:

    printf(" this is b  \n");

}




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,076评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,658评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,732评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,493评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,591评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,598评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,601评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,348评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,797评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,114评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,278评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,953评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,585评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,202评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,180评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,139评论 2 352