1、统计空格、换行符、制表符个数
空格的ASCII是32;制表符是9;换行符是10
int ch = getchar();
int m = 0; //空格数
int n = 0; //制表符数
int k = 0; //换行数
while (ch!=EOF){
if(ch == 9){
n++;
}else if(ch == 10){
k++;
}else if(ch ==32){
m++;
}
ch = getchar();
}
printf("空格数:%d,制表符数:%d,换行数:%d",m,n,k);
2、编写一个将输入复制到输出的程序,将连续的多个空格替换成一个。
思路:判断如果当前输入是不是空格,
-->不是就直接输出,标识位 设置为不是空格。
-->是,再判断前一个是不是空格,
-->不是就输出,并修改标识符为1,用于下次判断前一个是空格
-->是,不做任何处理,直接跳过输出
int temp = 0;
int space = 0;
while((temp=getchar())!=EOF){
if(temp==32){ //空格的ASCII是32
if(space==0){ //前一个不是空格,输出
putchar(temp);
space = 1;
}
}else{
putchar(temp);
space = 0;
}
}