AT—入力フォーム 题解

题目传送门

更好的阅读体验?

做法:

  • 可以边输入边判断

  • 程序在读入字符时,是一个一个读入的,依照这个性质可以读一个就判断一个,省去存储字符的麻烦。

  • 每读入一个字符,\(L\) 就减 \(1\),当 \(L\)\(0\) 时就可以跳出循环(注意跳出时机)。

  • cin 读入失败返回值为 \(0\)

  • AT 的题最后要有换行(现在好像不加也行)。

无注释代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	char c;
	int l;
	cin>>l;
	while(cin>>c)
	{
		if(l<=0)  break;
		l--;
		cout<<c;
	}
	cout<<endl;
	return 0;
}

有注释代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	char c;
	int l;
	cin>>l;//要求长度 
	while(cin>>c)
	{
		//只有一行字符,可以用 cin 读 
		//cin 读入失败返回值为 0 
		//还可以过滤行末回车 
		//getchar() 不行,需要特判 
		if(l<=0)  break;
		//如果长度够了,就跳出 
		l--;//长度减一 
		cout<<c;//输出字符 
	}
	cout<<endl;//AT 的题最后要有换行
	return 0;
}
posted @ 2025-02-08 16:42  Wy_x  阅读(13)  评论(0)    收藏  举报