【题目描述】
老师布置暑假作业,要求每位同学写一篇作文,作文的标题只有一行,标题中可能包含大、小写英文字母,数字字符,空格,水平制表符和换行符等空白字符。小民想知道每个同学写的作文标题中有多少个字符?请你帮助小民编程求解该问题(统计标题字符数时,空格和换行符不计算在内)
【输入格式】
一行,1 个字符串,表示作文的标题。
【输出格式】
一行,1 个整数,表示作文标题的字符数。
#include<stdio.h> // 引入标准输入输出库
#include<string.h> // 引入字符串处理库
#include<ctype.h> // 引入字符类型库
#define M 100 // 定义常量M为100,表示字符串的最大长度
int main() { // 主函数开始
char ch[M]; // 定义一个字符数组ch,用于存储输入的字符串
int i, u = 0; // 定义变量i用于循环,u用于计数非空格字符
gets(ch); // 读取一行输入到字符数组ch中,注意:gets函数不安全,建议使用fgets替代
int len = strlen(ch); // 计算输入字符串的长度
for(i = 0; i < len; i++){ // 遍历字符串中的每个字符
// int m = isspace(ch[i]); // 检查当前字符是否为空格,此行被注释掉了
if(!isspace((unsigned char)ch[i])){ // 如果当前字符不是空格
u++; // 非空格字符计数增加
if(ch[i] == ch[i] - 1){ // 检查当前字符是否与前一个字符相同
break; // 如果相同,则跳出循环
}
}
}
printf("%d", u); // 输出非空格字符的计数
return 0; // 程序结束,返回0
}
// Never give up // 注释:永不放弃