weixin_47608930 2020-06-23 19:07 采纳率: 100%
浏览 145
已采纳

做一个计算时间的程序,首先输入字符串

输入第一个字符串:今天是2020年6月23日。 18点有期末考试。
输出的结果是::2020 + 6 + 23 + 18 = 2067
第二个字符串:我出生是1999年12月31日
结果:1999 + 12 + 31 = 2042 ,今天是距离出生是7481

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-06-23 19:32
    关注
    #include <iostream>
    using namespace std;
    
    int GetNum(const char* str,int* num)   //输入:str---字符串指针,num---要保存数字的数组指针      返回:数字个数
    {
        int n = 0;
        int in = 0;
        for (int i = 0; str[i]; i++)
        {
            if (str[i] >= '0' && str[i] <= '9')
            {
                if (in)
                {
                    num[n] = num[n] * 10 + str[i] - '0';
                }
                else
                {
                    num[n] = str[i] - '0';
                    in = 1;
                }
            }
            else
            {
                if (in)
                {
                    in = 0;
                    n++;
                }
            }
        }
        return n;
    }
    
    int main()
    {
        char buffer[1000];
        cin.getline(buffer, 1000);
        int n;
        int arr[100];
        n = GetNum(buffer, arr);
        int sum = 0;
        for (int i = 0; i < n; i++) 
        {
            sum += arr[i]; 
            if (i == 0) cout << arr[i];
            else cout << "+" << arr[i];
        }
        cout << "=" << sum;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus
  • ¥15 解决编写PyDracula时遇到的问题