首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使输入某年某月某日,可判断这一天是这一年的第几天。 程序分析:以3月5日为例,应该先把前两个月的天数加起来,然后再加上5天即本年的第几天(特殊情况:
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使输入某年某月某日,可判断这一天是这一年的第几天。 程序分析:以3月5日为例,应该先把前两个月的天数加起来,然后再加上5天即本年的第几天(特殊情况:
admin
2018-10-23
77
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使输入某年某月某日,可判断这一天是这一年的第几天。
程序分析:以3月5日为例,应该先把前两个月的天数加起来,然后再加上5天即本年的第几天(特殊情况:闰年输入月份大于3时需考虑多加一天)。
注意:只能补充函数func(int year,int month,int day),请勿改动其他部分的内容。
1 #include<iostream.h>
2 int func(int year,int month,int day)
3 {
4
5 }
6 void main()
7 {
8 cout<<func(2007,2,1)<<end1;
9 cout<<func(2007,i0,i0)<<end1;
10 cout<<func(2008,8,12)<<end1;
11 return;
12 }
选项
答案
1 int sum; 2 int leapyear; 3 switch(month)/*先计算某月以前月份的总天数*/ 4 { 5 case 1: 6 sum=0; 7 break; 8 case 2: 9 sum=31; 10 break; 11 case 3: 12 sum=59; 13 break; 14 case 4: 15 sum=90; 16 break; 17 case 5: 18 sum=120; 19 break; 20 case 6: 21 sum=151; 22 break; 23 case 7: 24 sum=181; 25 break; 26 case 8: 27 sum=212; 28 break; 29 case 9: 30 sum=243; 31 break; 32 case 10: 33 sum=273; 34 break; 35 case 11: 36 sum=304; 37 break; 38 case 12: 39 sum=334; 40 break; 41 default: 42 cout<<’’data error’’<<end1; 43 break; 44 } 45 sum=sum+day; 46 if(year%400==0 ||(year%4==0&& year%100!=0))/*判断是不是闰年*/ 47 leapyear=1; 48 else 49 leapyear=0; 50 if(1eapyear==1&&month>2) 51 sum++; 52 return sum;
解析
函数函数func(int year,int monm,int day返回某一天属于这一年的第几天,可以把该月之前的所有天数加起来再加上本月的第几天得到返回值,一种特殊情况需要注意,闰年时2月会多一天,这个时候可以先判断是否是闰年,如果是再看是不是二月以后,如果是则加在前面结果的基础上在加一天。
(1)为方便起见,先统计正常年份下,每个月的前面有多少天,可以用switch方式查询,然后再加上本月的日子,很快便得到了这一天是属于这一年的第几天。
(2)闰年的判断方法为:if(year%400==0||(year%4==0&&year%100!=0)),if语句为真则为闰年,二月之后的日期后需要加一天。
转载请注明原文地址:https://kaotiyun.com/show/dwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在多继承的基类和派生类中同时出现______存在二义性。
二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是______。
C++语言函数中不能由系统自动生成的是
在岂个容量为25的循环队列中,若头指针front=9,尾指针Year=16,则该循环队列中共有______个元素。
关于下列程序段的描述中,正确的是()。#include<iostream.h>intfun(int,int);voidmain(){cout<<fun(1,2)<<endl;
程序中有如下语句for(inti=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是()。
下列选项中合法的用户标识符是()。
下列特征中不是面向对象方法的主要特征的是()。
下面程序编译时发现ma[3]=9错误,其原因是______。#include<iostream.h>classFunArray{int*pa;//指向一个数组空问intsize;//数组元素个
设有定义:classperson{intnum;charname[10];public:voidinit(intn,char*m)};personstd[30]则以下叙述不正确的是(
随机试题
Food______(short)isnolongeraprobleminthevillageastheypeopletherehavegotarichharvestthisyear.
患者,女,45岁。反复对称性双手、双足关节肿痛10年,晨僵2~3小时,近1个月出现咳嗽、咳痰、有时喘憋、不发热。查体:双手轻度关节变形,双肺底可闻少许的细小湿性啰音。最可能的诊断是
癫痫发病的病因为
血虚的病机,主要是指血热的病机,主要是指
患者,男,56岁。近1个月来咳嗽阵作,痰中带血甚或纯血鲜红,伴见胸胁胀痛,烦躁易怒,口苦咽干,舌质红,舌苔薄黄,脉弦数。应该选用
【2011年第4题】题31~35:建筑物内某区域一次回风双风机空气处理机组(AHu),四管制送/冷热风+加湿控制,定风量送风系统,空气处理流程如图所示。请回答以下问题,并列出解答过程。要求采用建筑设备监控系统(BAS)的DDC控制方式,监控功能要求详见
y’’一2y’一3y=0的通解为y=()。
下列债券中。被称为“金边债券”的是()。
基础货币[北京邮电大学820经济学基础2012研]
Thereweresomeconsistentpatternsamongtheheavierreaders:Fortheyoungerchildren—ages6to11—beingreadaloudtoregula
最新回复
(
0
)