m0_65100132 2022-03-24 19:40 采纳率: 20%
浏览 50
已结题

请问这个代码怎么写,完全不会呀(语言-c++)

![img]

  1. (https://img-mid.csdnimg.cn/release/static/image/mid/ask/83122812184611.jpg "#left")
    c++模拟python的print函数的用法,每组输入包含两行
    第一行是a、b、c三个整数,空格隔开
    第二行的开始是一个数字(0、1或2)表示后续参数个数。如果是0,表示无后续参数,分隔符和行尾符都使用默认参数;如果是1,后面将跟随输入要使用的分隔符,而行尾符用默认参数;如果是2,后面将跟随输入要使用的分隔符和行尾符。【多组输入】
  • 写回答

1条回答 默认 最新

  • _GX_ 2022-03-24 20:16
    关注
    #include <iostream>
    #include <sstream>
    
    using namespace std;
    
    void myPrint(int a, int b, int c, char sep = ' ', char delim = '\n')
    {
        cout << a << sep << b << sep << c << delim;
        if (delim != '\n')
            cout << '\n';
    }
    
    int main()
    {
        string line1, line2;
        while (getline(cin, line1) && getline(cin, line2))
        {
            istringstream ss1(line1);
            int a, b, c;
            ss1 >> a >> b >> c;
            istringstream ss2(line2);
            int n;
            ss2 >> n;
            if (n == 0)
            {
                myPrint(a, b, c);
            }
            else if (n == 1)
            {
                char sep;
                ss2 >> sep;
                myPrint(a, b, c, sep);
            }
            else if (n == 2)
            {
                char sep, delim;
                ss2 >> sep >> delim;
                myPrint(a, b, c, sep, delim);
            }
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 创建了问题 3月24日

悬赏问题

  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥15 Windows 系统cmd后提示“加载用户设置时遇到错误”
  • ¥50 vue router 动态路由问题
  • ¥15 关于#.net#的问题:End Function
  • ¥15 无法import pycausal
  • ¥15 VS2022创建MVC framework提示:预安装的程序包具有对缺少的注册表值的引用
  • ¥15 weditor无法连接模拟器Local server not started, start with?
  • ¥20 6-3 String类定义
  • ¥15 嵌入式--定时器使用
  • ¥20 51单片机学习中的问题