C语言基础编程之统计字母,数字和空格

来源:互联网 发布:mcmore php 编辑:程序博客网 时间:2024/06/05 21:52
统计字符,数字和空格方案一:int main(){int number = 0, letter = 0, spece = 0;//对计数变量的初始化char ch = 0;while (ch != '\n')//用while循环来完成字符的输入,我们输入一个字符,就判断一个字符。直到我们输入完成按下回车键,就完成统计并输出计好的变量。{scanf("%c", &ch);if (ch >= '0'&&ch <= '9')//判断数字{number++;}if (ch == ' ')//判断空格{spece++;}if (ch >= 'a'&&ch <= 'z' || ch >= 'A'&&ch <= 'Z')//判断字母{letter++;}}printf("number:%d\n", number);//输出printf("letter:%d\n", letter);printf("spece:%d\n", spece);system("pause");return 0;}总结:想要统计字符,数字和空格的数量,我们不能用数组的方法去做,因为在定义数组的时候就要把数组的大小也要定义好,但是你并不知道我要输入多少东西,万一你定义的数组装不下我所输入的,那么就很容易产生段错误(访问了一块不属于你的内存空间)。方案二:int main(){int number = 0, letter = 0, spece = 0;char ch = 0;while (1){scanf("%c", &ch);if (ch >= '0'&&ch <= '9'){number++;}if (ch == ' '){spece++;}if (ch >= 'a'&&ch <= 'z' || ch >= 'A'&&ch <= 'Z'){letter++;}if (ch == '\n'){printf("number:%d\n", number);printf("letter:%d\n", letter);printf("spece:%d\n", spece);number = 0;letter = 0;spece = 0;}}system("pause");return 0;}总结:这种方案的统计和方案一的统计有所差别,这种统计方案是我统计完一遍字符我不想退出,我想再次输入字符统计字符,数字和空格的数量,上面的只能统计一次,这个可以统计很多次,直到你自己想要退出程序。这种方案和方案一的区别在于方案二的while循环是死循环,也就是程序本身不会自己结束程序,同时把输出给加入到了while中,这样就可以一直统计输出你输入的字符。

阅读全文
1 0
原创粉丝点击