首页 > 其他分享 >处理若干行输出的题目

处理若干行输出的题目

时间:2024-10-14 08:50:46浏览次数:6  
标签:输出 题目 cout 处理 cin 整数 输入 若干

处理一行输入

C++的cin和C语言的scanf函数都以空格为分隔符,读取输入,每次读到空格或者换行符就会停止。因此,当我们要输出的一整行包含空格时,以上函数均无法得到正确的结果。

string s;
cin >> s;
cout << s;

输入: hello world
输出: hello

为了解决这个问题,我们可以使用getline函数,该函数会读取一行输入,直到遇到换行符为止。

string s;
getline(cin, s);
cout << s;

输入: hello world
输出: hello world

处理若干个输入

在我们遇到的部分题目中,我们需要处理若干个输入,例如:

共有若干个整数需要输入,你需要判断每个整数是否为质数,如果是质数,输出Yes,否则输出No。直到输入0位置,表示输入结束,且0不需要处理。
输入:
2
3
4
0
输出:
Yes
Yes
No

我们不知道有多少个整数需要输入,因此我们需要使用循环来处理。

int n;
while (cin >> n && n != 0) {
    // 处理n
}

在循环中,我们首先使用cin读取一个整数,然后判断这个整数是否为0,如果不是0,就处理这个整数。如果这个整数是0,就跳出循环。

完整代码:

bool isprime(int n) {
    if (n <= 1) return false;
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) return false;
    }
    return true;
}

int main() {
    int n;
    while (cin >> n && n != 0) {
        if (isprime(n)) {
            cout << "Yes" << endl;
        } else {
            cout << "No" << endl;
        }
    }
}

处理若干行输入

同样的,当我们的输入包含若干行时,我们同样可以使用循环来处理。

最长的话:
Orange每次讲话都喋喋不休,他总是说很多很多的话,以至于你无法记住他说的每一句话,你能记住他说的最长一句话吗?
输入:
Hello World!
Orange is a fruit.
How r u?
waibibabu.
ohhhhhhhhhhhhhhhhhh
输出:
ohhhhhhhhhhhhhhhhhh

完整代码:

int main() {
    string s;
    string maxs;
    while (getline(cin, s)) {
        if (s.size() > maxs.size()) {
            maxs = s;
        }
    }
    cout << maxs;
}

标签:输出,题目,cout,处理,cin,整数,输入,若干
From: https://www.cnblogs.com/orangecodelog/p/18463384

相关文章

  • C语言中输入/输出缓冲区行为乱序的问题
    问题代码这一串代码就是输出提示,读取输入,这样做3遍但是看到运行结果会发现,第二个和第三个的提示字符串输出到同一行了,没法输入操作符原因这是因为输入缓冲区的缘故当我们输入第一个数字1的时候,按下回车确认,但同样的,回车的换行符也同样保留在输入缓冲区了,数字1被读取消耗掉......
  • PTA C语言 7-1 字符串比对 单位 郑州轻工业大学输入两个长度相同的字符串,字符串长度小
    7-1字符串比对分数10作者 zzuli单位 郑州轻工业大学输入两个长度相同的字符串,字符串长度小于20,且只包含英文字符。将两个字符串逐字符对比的结果输出(由+和-构成的一行字符),具体规则如下:如果两个字符串对应字符是同一字母则输出+如果两个字符串对应字符不是同一字母......
  • Educoder——JAVA高级特性 字节流-输入输出
    任务描述本关任务:使用输入输出流读写文件。相关知识为了完成本关任务,你需要掌握:1.如何使用输入流;2.如何使用输出流。输入流我们通过一个示例,来看看输入流应该如何使用,首先我们在D盘下创建一个hello.txt文件。输入文本HelloJavaHelloInputStream。在main方法中加入如......
  • 基于牛顿拉夫逊算法优化长短期记忆网络结合注意力机制(NRBO-LSTM-Attention)(多输入多
    文章目录效果一览文章概述部分源码参考资料效果一览文章概述基于牛顿拉夫逊算法优化长短期记忆网络结合注意力机制(NRBO-LSTM-Attention)(多输入多输出)(多输入多输出)MATLAB完整源码和数据纯手工制作,代码质量极高,注释清晰,excel数据,方便替换1.data为数据集,10个......
  • CPO-CNN-BiLSTM-Attention多输出回归预测 Matlab代码 (多输入多输出)
    文章目录效果一览文章概述部分源码参考资料效果一览文章概述CPO-CNN-BiLSTM-Attention多输出回归预测Matlab代码(多输入多输出)MATLAB完整源码和数据纯手工制作,代码质量极高,注释清晰,excel数据,方便替换1.data为数据集,10个输入特征,3个输出变量。2.main.m为......
  • Javascript笔试手撕题目大全
    1.如何使用JS模拟实现instanceof操作符?请写出具体代码方法描述优点缺点typeof 运算符返回变量的数据类型(对于基本类型很有效,但对于对象和数组返回 "object")简洁易用,适用于基本类型判断无法准确判断 null(返回 "object")和复杂对象/数组的类型instanceof 运算符检查对象是......
  • 在 LaTeX 中,默认的 `enumerate` 环境会输出 “1. 2. 3.“ 这样的编号。如果你想将编号
    在LaTeX中,默认的enumerate环境会输出“1.2.3.”这样的编号。如果你想将编号格式改为(1)(2)(3)这种样式,你可以通过enumerate包进行自定义。在导言区导入enumerate包:\usepackage{enumerate}在enumerate环境中使用\renewcommand来自定义编号格式为带括号的样式......
  • 常用输入输出函数
    常用输入输出函数printf():把输出发送到一个叫作缓冲区(buffer)的中间存储区域。当缓冲区满、遇到换行字符或需要输入的时候迫使printf()的输出被发送到屏幕上。可以使用fflush()函数刷新缓冲区printf()的返回值是待显示字符的个数printf()中如果你不想预先指定字段宽度,希望......
  • 3-GPIO八大输出模式 推挽输出 与 开漏输出
    推挽输出与开漏输出GPIO有八大输出模式下图为每个GPIO口的基本结构:通过这张图来学习最右侧是I/O引脚,是从STM32引脚到GPIO口的导线,与其他芯片进行连接的线。芯片内部电路所能承受的电压有限,当未知的静电进入GPIO口,大于所能承受的电压,就会被上方的保护二极管导通,将电......
  • 21年计算机挑战赛Python组区域赛题目及个人解答(重置版)
    1.乌鸦喝水代码部分#计算机挑战赛--乌鸦喝水x=int(input('请输入底边的边长:\n'))y=int(input('请输入容器内水面距离瓶子口的距离:\n'))z=0while1:ifx*x*y-8*z<2*x*x:print(f'需要投放{z}个石子乌鸦才能喝到水')breakelse:......