weixin_47608930
weixin_47608930
采纳率75%
2020-06-23 19:07 阅读 122

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

5

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 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;
    }
    
    点赞 评论 复制链接分享

相关推荐