计算日期DD-MMM-YYYY对应各位数字之和。例:24-0CT-1962,对应2、4、1、0、1、9、6、2,和为25。MMM只能为JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC。输入:若干行,每行包含DD-MMM-YYYY的字符串,以“#”结束输出:各位数字之和。样例:输入:24-0CT-196208-MAY-2020#输出:2517
答:该程序首先使用一个map将月份的英文缩写映射为数字形式的字符串。然后对于每一行输入,先提取出DD、MMM和YYYY,再将其组成一个数字字符串,累加其中每一位数字的值即可。最后输出累加结果。#include <iostream>#include <string>using namespace std;int get_sum(string s) { int sum = 0; for (int i=0;i<s.size();i++) { sum += s[i] - '0'; } return sum;}int main() { string input; while (getline(cin, input) && input != "#") { string DD = input.substr(0, 2); string MMM; string month=input.substr(3, 3); if(month=="JAN") MMM="01"; else if(month=="FEB") MMM="02"; else if(month=="MAR") MMM="03"; else if(month=="APR") MMM="04"; else if(month=="MAY") MMM="05"; else if(month=="JUN") MMM="06"; else if(month=="JUL") MMM="07"; else if(month=="AUG") MMM="08"; else if(month=="SEP") MMM="09"; else if(month=="OCT") MMM="10"; else if(month=="NOV") MMM="11"; else if(month=="DEC") MMM="12"; string YYYY = input.substr(7, 4); string date_str = DD + MMM + YYYY; int sum = get_sum(date_str); cout << sum << endl; } return 0;}
扫描微信二维码,添加您的专属老师为好友
您在考试中遇到任何问题,老师都会帮您解答
您希望我们通过哪种方式与您联系?
您已选择电话/微信/QQ的联系方式,课程顾问会尽快联系您!
您已选择微信联系方式,课程顾问会尽快添加您的微信,请您确认通过!
您已选择QQ联系方式,课程顾问会尽快添加您的QQ,请您确认通过!
您已选择电话联系方式,课程顾问会尽快联系您!
您已选择“不联系”,课程顾问不会主动联系您。如果后续您有需求,可以在个人中心主动添加销售微信或拨打客服电话:400-111-9811