标签:putc getc 方向 直方图 游标 eof log str 没有
一、导言
1.#define指令可以把符号名(或称为符号常量)定义为一个特定的字符串:
例:#define 名字 替换文本
#define LOWER 0
#define UPPER 300
其中,LOWER、UPPER都是符号常量,而非变量,因此不需要出现在声明中,符号常量名通常用大写字母拼写。#define指令行的末尾没有分号。
2.练习1-9:编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
思路是用一个游标state标记,如果遇到一个空格就将他变成0,直到变成非空格,将state变成1,先判断条件,如果state是0则不输出。
代码:
while(c=getchar() != EOF){ if(c == ‘ ‘ && state == 0) ; else if(c == ‘ ‘){ putchar(c); state=0; } else{ putchar(c); state=1; } }
3.&&比||高一个优先级。由&&或||链接的表达式由左至右求值。
4.1.14:编写一个程序,打印输入中各个字符出现频度的直方图。
水平方向:
#include<stdio.h> main(){ char c; int i,a[128]; for(i=0;i<128;i++) a[i] = 0; while(scanf("%c",&c) != EOF){ a[c]++; } for(i=0;i<128;i++){ printf("%-4d",i); while(a[i] != 0){ printf("-"); a[i]--; } printf("\n"); } }
标签:putc getc 方向 直方图 游标 eof log str 没有
原文地址:http://www.cnblogs.com/betterluo/p/6033972.html