The c programming language第一章节所有程序的实现

//打印第一个程序hello, word
#include<stdio.h>
int main() {
    printf("hello, world\n");
    return 0;
}
//将华氏温度转换为摄氏温度,将从0度-300度之间的温度,以20度为一个间隔打印出对应的摄氏温度
#include<stdio.h>
int main()
{
    float fahr,             //代表华氏温度的变量
          celsius;          //代表摄氏温度的变量

    float bottom = 0,         //起始温度
          step = 20,          //温度变化单元
          upper = 300;        //最高温度

    fahr = bottom;
    while (fahr <= upper) {
        celsius = (5.0 / 9.0) * (fahr - 32.0);
        printf("%3.0f %6.1f\n", fahr, celsius);
        fahr += step;
    }
    return 0;
}
//由于输出时占位符使用错误,导致大量的强制转换,从而得出奇怪的结果。
//华氏温度转换为摄氏温度
#include<stdio.h>
int main()
{
    float fahr,
          celsius,
          lower,
          upper,
          step;
    lower = 0.0;
    upper = 300.0;
    step = 20.0;

    fahr = lower;
    printf("FAHR CELSIUS\n");
    while (fahr <= upper) {
        celsius = (5.0 / 9.0) * (fahr - 32.0);
        printf("%3.0f %6.1f\n", fahr, celsius);
        fahr += step;
    }
    return 0;
}
//将摄氏温度转换为华氏温度
#include<stdio.h>
int main()
{
    float fahr,
          celsius,
          lower,
          upper,
          step;

    lower = 0.0;
    upper = 300.0;
    step = 20.0;

    celsius = lower;
    printf("CELSIUS FAHR\n");
    while (celsius <= upper) {
        fahr = celsius * 9.0 / 5.0 + 32;
        printf("%3.0f %6.1f\n", celsius, fahr);
        celsius += step;
    }
//验证表达式getchar() != EOF 的值是0还是1.
#include<stdio.h>
int main()
{
    int c;

    c = getchar() != EOF;
    printf("%d\n", c);

    return 0;
}
//本程序用来对字符进行计数
#include<stdio.h>
int main()
{
    int count = 0;
    char c;
    while ((c = getchar()) != EOF) {
        count++;
    }
    printf("%d\n", count);
    return 0;
}
//统计行数
#include<stdio.h>
int main()
{
    int nl = 0;
    char c;

    while ((c = getchar()) != EOF) {
        if (c == '\n')
            nl++;
    }
    printf("%d", nl);

    return 0;
}
//统计行数
#include<stdio.h>
int main()
{
    int nl = 0;
    char c;

    while ((c = getchar()) != EOF) {
        if (c == '\n')
            nl++;
    }
    printf("%d", nl);

    return 0;
//单词计数,此处单词为任何不包含空格,制表符和回退符的字符序列
#include<stdio.h>
#define IN 1
#define OUT 0
int main()
{
    int state = OUT,
        count = 0;
    char c;
    while ((c = getchar()) != EOF) {
        if (c ==' ' || c == '\n' || c == '\t')          //当state = OUT且c = 非空时,字符数加一
               state = OUT;
        else if (state == OUT) {
            count++;
            state = IN;
        }
    }
    printf("%d", count);
    return 0;
}

//以逆序的打印华氏温度转换为摄氏温度
#include<stdio.h>
int main()
{
    float fahr,
          celsius,
          lower,
          upper,
          step;

          lower = 0.0;
          upper = 300.0;
          step = 20.0;

          fahr = upper;
          printf("FAHR CELSIUS\n");
          while (fahr >= lower) {
            celsius = (5.0 / 9.0) * (fahr -32);
            printf("%3.0f %6.1f\n", fahr, celsius);
            fahr -= 20;
          }
          return 0;
}
//编写一个打印EOF值的程序
#include<stdio.h>
int main()
{
    printf("%d\n", EOF);
    return 0;
}
//统计空格,制表符,换行符个数的程序。
#include<stdio.h>
int main()
{
    int nb = 0,
        nt = 0,
        nl = 0;
    char c;

    while ((c = getchar()) != EOF) {
        if (c == ' ')
            nb++;
        else if (c == '\t')
            nt++;
        else if (c == '\n')
            nl++;
    }
    printf("空格符: %d 制表符:%d 换行符:%d\n", nb, nt, nl);

    return 0;
}
//编写一个程序将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替,
#include<stdio.h>
int main()
{
    char c,         //用来存储此次输入的字符
        lastc;      //用来记录上次输入的字符

    lastc = 'a';
    while ((c = getchar()) != EOF) {
        if (c != ' ' || lastc != ' ') {
            putchar(c);
        }
        lastc = c;
    }

    return 0;
}
//编写一个将输入复制到输出的程序,并将其中的制表符替换为\t,把回退符替换为
//\b,把反斜杠替换为\\. 使其能以可见的方式显示出来
#include<stdio.h>
int main()
{
    char c;
    while ((c = getch()) != EOF) {
        if (c == '\t')
            printf("\\t");
        else if (c == '\b')
            printf("\\b");
        else if (c == '\\')
            printf("\\\\");
        else
            putchar(c);
    }
    return 0;
}
//编写一个程序,以每行一个单词的形式打印其输入
#include<stdio.h>
int main()
{
    char c,
        lastc = 'a';
    while((c = getchar()) != EOF) {
        if (c != ' ' && c != '\t' && c != '\n')
            putchar(c);
        else if (lastc != ' ' && lastc != '\t' && lastc != '\n')
           putchar('\n');
        lastc = c;
    }
    return 0;
}

 


}

 

posted on 2015-12-11 15:04  Easonchan  阅读(276)  评论(0)    收藏  举报