其实一些经验或者技巧,都是在作业的过程中搜索得到或者自己领悟出来的。
首先是数值变量与字符变量占用的字节数不同,因此可以用sizeof()函数来判断变量所占字节数判断其类型。
然后是空格的ASCII码为32,可以以此判断一串字符中是否有或有几个空格。目前我只会一个一个字符来判断...但是有把字符串存入数组,然后用循环遍历数组的方法来优化这个程序。
不过可能要等到学了数组以后了...我会找时间提前去看的,希望能早点完成优化。
还有控制小数位数的方法...不过时间原因,我打算明天再编辑。
以上,晚安。
2018-10-10
----------------------------------------
两天后了。
遇到了个小问题,就是不知道如何修改vs的缺省值。等有时间了我再研究研究。
保留小数点后几位,可以用setprecision(),但需要包含头文件<iomanip>,以保留两位小数为例,有以下三种表示方法:(参考:https://blog.csdn.net/qq_36667170/article/details/79265224)
1.cout<<setiosflags(ios::fixed)<<setprecision(2);
2.cout.setf(ios::fixed);
cout<<setprecision(2);
3.cout<<fixed<<setprecision(2);
要注意的是,与格式化输出不同进制类似,输出的位数设置一次后,对之后的输出也有效。
setprecision(n)用于控制浮点数显示的有效数字个数,而其与fixed合用才可以控制小数点后保留几位。
----------------------------------------
好像数组行不通。因为给数组分配空间时不能用变量,也就是说只能在输入字符一定的时候才行。(好像有个变长函数什么的,不过连函数都还没接触emmm....)
于是改用循环,每当有输入的时候执行一次循环。唯一的缺点是不知道如何实现 回车=输入完毕 这个功能,因此只能在换行后用 ctrl+z 来结束程序。
不过效果还是有的,至少能正确统计了。因为用的是ASCII码,所以暂时不支持汉字的统计。
源文件上传到GitHub了:https://github.com/BlackDn/Cpp/blob/master/Couting
希望到时候能再优化优化吧...
2018-10-20