weixin_51114263 2022-12-28 22:06 采纳率: 65%
浏览 125
已结题

C++如何实现数字和字母混合输入?

现在希望通过窗口输入一串数字+字母,如:
2 3 null 7 8 9
在读入之后,将null转化为 9999999,其余数字不变
最后保存到一个整型数组中。
尝试了vector和string的做法,都无法实现,求指教。

  • 写回答

3条回答 默认 最新

  • 流比 2022-12-28 22:19
    关注
    
    #include <iostream>
    #include <string>
    #include <algorithm>
    #include <sstream>
    
    using namespace std;
    
    const int N = 110;
    int nums[N];
    
    int main()
    {
        string input;
        getline(cin, input); // 读取一行数据
        stringstream ss(input); // 将字符串转化为数据流
        string temp;
        int index = 0;
        while (ss >> temp) // 从数据流中读取一个字符串
        {
            if (temp == "null") // 如果为null,转化为99999
                nums[index++] = 99999;
            else
                nums[index++] = stoi(temp); // 将字符串转化为数字
        }
    
        // 输出结果
        for (int i = 0; i < index; i++)
            cout << nums[i] << " ";
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 创建了问题 12月28日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度