核心内容摘要
totakka_haya_kirix_翻译
这个题目本身不难但是涉及到了好多我不太会的知识点。
getchar:在本题中他起到了一个消除换行符的作用。
因为在输入n的时候假如输入为2按完回车之后实际输入到缓冲区的内容是2\n如果不处理这个\n后续的fgets会直接读取到这个残留的\n。
但是getchar的用法不止于此等下次碰到再补充吧。
fgets:是一个安全输入函数专门读取一行文本。
用法fgets(s,sizeof(s),stdin)fgets(数组名数组长度输入源)其中输入源可以直接写成stdin汉字机内码的特点
汉字在计算机中占两个字节数字和英文字母只占一个字节
每个字节的最高位都是1又因为最高位是1的补码都是负数所以可以判断是否小于零来找。
#includeiostream using namespace std; int main() { char s[5000]; int n; cin n; getchar();//撤销换行符 while (n--) { fgets(s, sizeof(s), stdin); int length strlen(s); int count 0; for (int i 0; i length; i) { if (s[i]