以下函数的功能是输出用户输入的年份year是否是闰年,比如输入年份为1980,则输出结果是“1980年是闰年。”,输入年份为2017,则输出结果是“2017年不是闰年。”。请在下划线处填入正确内容。 void leapyear(int year) { int f=0; if(year%4==0year % 100!=0 || year%400==0) ; if(f) printf("%d年是闰年。n",year); else printf("%d年不是闰年。n",year); }

以下函数的功能是输出用户输入的年份year是否是闰年,比如输入年份为1980,则输出结果是“1980年是闰年。”,输入年份为2017,则输出结果是“2017年不是闰年。”。请在下划线处填入正确内容。 void leapyear(int year) { int f=0; if(year%4==0&&year % 100!=0 || year%400==0) ; if(f) printf("%d年是闰年。n",year); else printf("%d年不是闰年。n",year); }


参考答案和解析
getchar()

相关考题:

●试题八阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。【说明】设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。在Date类中设计如下重载运算符函数:Date operator+(int days):返回某日期加上天数得到的日期。Date operator-(int days):返回某日期减去天数得到的日期。int operator-(Date&b):返回两日期相差的天数。【程序】#includeiostream.hint day tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};∥day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date{int year,month,day;∥年,月,日int leap(int);∥判断是否为闰年int dton(Date&);Date ntod(int);public:Date(){}Date(int y,int mint d){year=y;month=m;day=d;}void setday(intd){day=d;}void setmonth(int m){month=m;}void setyear(int y){year=y;}int getday(){return day;}int getmonth(){return month:}int getyear(){return year;)Date operator+(int days)∥+运算符重载函数{static Date date;int number= (1) ;date=ntod(number);return date;}Date operator-(int days)∥-运算符重载函数{staffs Date date;int number= (2) ;number-=days;date=ntod(number);return date;}int operator-(Date &b)∥-运算符重载函数{int days= (3) ;return days;}void disp(){coutyear"."month"."dayendl;}};int Date::leap(int year){if( (4) )∥是闰年return 1;∥不是闰年elsereturn0:}int Date::dton(Date &d)∥求从公元0年0月0日到d日期的天数{inty,m,days=0;for(y=1;y=d.year;y++)if( (5) )days+=366;∥闰年时加366天else days+=365;∥非闰年时加365天for(m=0;md.month-1;m++)if( (6) )days+=day_tab[1][m];elsedays+=day_tab[0][m];days+=D.day;return days;}Date Date::ntod(intn)∥将从公元0年0月0日的天数转换成日期{int y=1,m=1,d,rest=n,lp;while (1){if(leap(y))if(rest=366)break;else rest-=366;else∥非闰年if(rest=365)break;else rest-=365;y++;}y--;Ip=Ieap(y);while (1){if(Ip)∥闰年if(restday_tab[1][m-1])rest-=day_tab[1][m-1];else break;else∥非闰年if(restday_tab[0][m-1])rest-=day_tab[0][m-1];else break;m++;}d=rest;return Date(y;m,d);}void main(){Date now(2003,10,1),then(2005,6,5);cout"now:";now.disp();cout"then:";then.disp();cout"相差天数:"(then-now)endl;Date dl=now+1000,d2=now-1000;cout"now+1000:";d1.disp();cout"now-1000:":d2.disp();}

请在每条横线处填写一个语句,使程序的功能为:判断输入的年份是否为闰年(例如:1998年不是闰年,2000年是闰年).注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。import java.io.*;public class LeapYear{public static void main(String args[]){___________________;BufferedReader in;ir=new InputStreamReader(_____________________________);in=new BufferedReader(ir);System. out. print In("输入年份是: ");String s=in.readline();int year=___________________if(year%4==0year%100!=0||year%400==0System.out.println(" "+year+" "年是闰年. ");elseSystem.out.println(" " +year+ " "年不是闰年.");}}}

给定年份,下列程序用来判断该年是否是闰年,请填空。Sub YN()Dim x As Integerx=InputBox("请输入年号")If (x Mod 4=0 【10】 x Mod 100 0) 【11】 (x Mod 400=0) ThenPrint "是闰年"ElsePrint "不是闰年,是普通年份"End IfEnd Sub

下列程序要求用户输入一个年份,并能够判断用户输入的年份是否是闰年,横线处应填 Sub EnSure() Dim year As Integer Year=Val(InputBox("请输入年份:")) If(year Mod 4=0_____yaer Mod 1000)______(yaer Mod 400=0)Then Print"您输入的是闰年" Else Print"不是闰年,是普通年份" End If End SubA.And And B.And Or C.Or Or D.Or Or

请补充fun函数,该函数的功能是:判断一个年份是否为闰年。例如,1900年不是闰年,2004是闰年。[注意] 部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。[试题源程序]include<stdio.h>include<conio.h>int fun(int n){int fiag=0;if(n%4==0){if( (1) )fiag=1;}if( (2) )flag=1;return (3) ;}void main(){int year;clrscr();printf("Input the year:");scanf("%d", &year);if(fun(year))printf("%d is a leap year.\n", year);elseprintf("%d is not a leap year.\n", year);}

给定年份,下列程序用来判断该年是否为闰年,请填空。提示:闰年的条件是年份可以被4整除但不能被100整除,或者能被400整除。Private Sub Comand6_Click()Dim y As Integery=InputBox("请输入年份")If(y Mod 4=0______y Mod 100<>0)or(y Mod 400=0)ThenPrint"是闰年"ElsePrint"是普通年份"End IfEnd Sub

阅读以下说明和C语言函数,填补空缺。[说明]已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。函数count_5_13(int year)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,若是星期五,则计数。程序中使用了函数isLeapYear(int year),其功能是判断给定年份是否为闰年,返回值为1(或0)分别表示year是(或不是)闰年。[C语言函数]int Count_5_13(int year){int date; /*date为0表示星期日,为1~6分别表示星期一至星期六*/long days=0; /*days记录天数*/int m, y, c=0; /*c用于表示黑色星期五的个数*/if(year<1900) return-1;/*计算从1900年1月1日起,至给定年份year的1月13日间隔的天数*/days=12;for(y=1900; y<year; y++) {days +=365;if (iSLeapYear(Y)) ________ ;}date=((days%7)+1)%7;/*算出给定年份year的1月13日是星期几+/c=( ________ )?1:0;for(m=1; ________ ; m++) {switch(m) {case 1: case 3: case 5: case 7: case 8: case 10: case 12:days=31; break;case 4: case 6: case 9: case 11:days=30; break;case 2: days=28;if( ________ )days=29;break;}/*end of switch*/date=((days%7)+ ________ )%7;if (date==5) c++;} /*end of for*/return c;}

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。在Date类中设计如下重载运算符函数:Date operator + (int days) : 返回某日期加上天数得到的日期。Date operator - (int days) : 返回某日期减去天数得到的日期。int operator - (Dateb): 返回两日期相差的天数。【程序】include<iostream.h>int day tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};//day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date{int year, month, day //年,月,日int leap(int); //判断是否闰年int dton(Date)Date ntod(int)public:Date() { }Date (int y, int mint d) I year = y; month = m; day = d;}void setday(intd){day = d;}void setmonth(int m) {month = m;}void setyear(int y) {year =y;}int getday() {return day;}int getmonth() {return month:}int getyear() {return yea;}Date operator + (int days) //+运算符重载函数{static Date date;int number =(1)date = ntod(number)return date}Date operator - (int days) //-运算符重载函数{staffs Date date;int number=(2);number - = days;date = ntod(number)return date;}int operator - (Date b) //-运算符重载函数{int days=(3);return days;}void disp(){cout<<year<<"."<<month<<". "<<day<<endl;}};int Date: :leap( int year)if((4)) //是闰年return 1; //不是闰年elsereturn0:}int Date:: dton( Date d) //求从公元0年0月0日到d日期的天数{inty,m,days =0;for(y=1;y<=d. year;y++)if((5))days+ =366; //闰年时加366天else days + = 365; //非闰年时加365天for(m =0;m<d. month-1;m++)if((6))days += day_tab[1] [m];elsedays +=day_tab[0] [m];days + = d. day;return days;}Date Date::ntod(intn) //将从元0年0月0日的天数转换成日期{int y=1,m = 1,d,rest = n,lp;while(1){ if(leap(y))if(rest<= 366) break;else rest - = 366;else //非闰年if(rest = 365 ) break;else rest-=365;

从下列的3道式题(试题五至试题七)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。阅读以下说明和C++码,将应填入(n)处的字名写在的对应栏内。[说明] 利用c++的各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数:Leap ()用于判定指定的年份是闰年,Week ()用于计算year年份的1月1日是星期几,其判定规则为:(1) 如果year 年份为1994年,则为星期六。(2) 如果year 年份大于1994年,则星期值weekno 按下列公式计算:differ=(year-1994)*(365%6)+(year-1993)/4-(year-2001)/100+(year-2001)/400 date=6+differ%7weekno=(date6)? date-7:date(3) 如果year 年份小于1994年,则星期值weekno 按下列公式计算:differ=(1994-year)*(365%7)+(1996-year)/4-(2001-year)/100+(2000-year)/400 weekno=6-dder%7include "iostream. h"include "iomanip. h"int leap(int n){if( (1) )return 0elsereturn 1;}int week( int year ){int a1, differ, date, weekno;if (year = = 1994)a1 =0;else if (year > 1994)a1=1;else a1= -1;switch(a1){case 0: return 6; break;case 1:{(2)date = 6 + differ% 7; weekno = ( date > 6) ? date - 7 date;}return weekno; break;case - 1:{differ = ( 1994 - year) * (365%7) + (1996 - year)/4 - (2001 - year)/100 + (2000 - year)/400;weekno =6-differ%7; } return weekno; break;}}void main( )}int i,year,m2,n,j;cout < < “Please input 某年数:”;cin> >year;if ( ! leap(year) )(3);elsem2 =28;int month [12]: {31 ,m2,31,30,31,30,31,31,30,31,30,31 };(4)for ( i=0; i<12; i+ + ){cout< < < <end1< <setw(4*n) < <";for(j=1 ;j< =month [i] ;j+ +){cout< <setw(4) < <j;n+ +;if(n> =7){(5)cout < < end1;}}}}

下面程序是判断某一个是否为闰年,请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。(闰年的条件是符合下面两者之一:①能被4整除,但不能被100整除;②能被4整除,又能被100整除)。注意:不改动程序的结构,不得增行或删行。import java.io.*;public class LeapYear{public static void main(String args[]){int year=1979;if((year %4= =0 || year % 100 !=0) || (year % 400= =0))System.out.println(year+"是闰年.");elseSystem.out.println(year+"不是闰年。");year=2000;boolean leap;if(year % 4 !=0)leap=false;else if(year % 100 !=0)leap=true;else if(year % 400 !=0)leap=false;elseleap=true;if(______)System.out.println(year+"是闰年。");elseSystem.out.println(year+"不是闰年。");year=2010;if(year % 4= =0){if(year % 100= =0){if(year % 400= =0)leap=true;else______}elseleap=false;}if(1eap= =true);System.out.println(year+"是闰年。");elseSystem.out.println(year+"不是闰年。");}}

下列程序要求用户输入一个年份,并能够判断用户输入的年份是否是闰年,下划线处应填( )。 Sub EnSure() Dim year As Integer year=Val(InputBox("请输入年份:")) If(year Mod 4=0 ______ year Mod 100<>0) ______ (year Mod 400=0) Then Print "您输入的是闰年" Else Print "不是闰年,是普通年份" End If End SubA.And AndB.And OrC.Or OrD.Or Or

阅读以下说明和C语言函数,将应填入(n)处。【说明】已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。函数count_5_13(int year)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,若是星期五,则计数。程序中使用了函数isLeapYear(int year),其功能是判断给定年份是否为闰年,返回值为1(或0)表示year是(或不是)闰年。【C语言函数】int count_5_13(int year){int date; /*date为0表示星期日,为1~6分别表示星期一至星期六*/long days=0; /*days记录天数*/int m,y,c=0; /*c用于表示黑色星期五的个数*/if (year<1900) return-1;/*计算从1900年1月1日起至给定年份year的1月13日间隔的天数*/days=12;for (y= 1900; y < year; y++) {days +=365;if (isLeapYear(y))(1);}date=((days%7) +1) %7; /*算出给定年份year的1月13日是星期几*/c=((2)) ?1:0;for(m=1;(3);m++) {switch (m) {case 1:case 3: case 5: case 7:case 8:case 10:case 12:days=31; break;case 4: case 6: case 9: case 11:days=30; break;case 2:days=28;if((4)) days=29;break;}/*end of switch*/date=((days%7)+ (5) )%7;if (date==5) c++;} /*end of for*/return c;}

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】下面程序的功能是计算并输出某年某月的天数,函数IsLeap Year()能够判断是否是闰年。【C++程序】include < iostream >using namespace std;(1) Month {Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };class Date {public:Date( int year, Month m_ month) {this→year = year;if( (2) ) month: Jan;else month = m_ month;};~Date(){};bool IsLeap Year( ) {return ((year%4= =0 year% 100 ! =0)|| year%400= =0);};int CaculateDays( ) {switch(m_month ) {case (3) ;{if (4) return 29;else return 28;}case Jan: case Mar: case May: case Jul: case Aug: case Oct: case Dec: return 31;case Apr: case Jun: case Sop: case Nov: return 30;}}private:int year;Month month;};void main( ) {Date day(2000,Feb);cout < <day. (5) ( );}

下列程序要求用户输入一个年份,并能够判断用户输入的年份是否是闰年,横线处应填( )。Sub EnSure()Dim year As Integeryear=Val(InputBox("请输入年份:"))If(year Mod 4=0______year Mod 100<>0)______(year Mod 400=0)ThenPrint"您输入的是闰年"ElsePrint"不是闰年,是普通年份"End IfEnd SubA.And AndB.And OrC.Or OrD.Or Of

本题提示输入年份,然后判断该年份是否为闰年。 importjava.io.*; public class javal{ public static void main(String[]args){ InputStreamReader ir; BufferedReader in; ir=new InputStreamReader(System.in); in=new BufferedReader(ir); int year=1900; System.out.print("请输入年份:"); try{ String s=in.readLine; ; } (Exception e){ } if( ) System.OUt.println(year+"是闰年"); else System.out.println(year+"不是闰年"); } }

请补充函数fun(),该函数的功能是:判断某一个年份是否为闰年。例如,1900年不是闰年,2004是闰年。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conio.h>int fun(int n){int flag=0;if (n%4=0){if (【 】)flag=1;}if (【 】)flag=1;return【 】;}main(){int year;clrscr();printf("Input the year:");scanf("%d", year);if (fun(year))printf("%d is a leap year. \n", year);elseprintf("%d is not a leap year.\n",year);}

以下代码用于判断闰年,由C 语言书写。其对应的控制流图如下图所示。 请按要求回答问题。 int isLeap(int year){ int leap; if (year % 4 = = 0){ if (year % 100 = = 0){ if ( year % 400 = = 0) leap = 1; else leap = 0; } else leap = 1; } else leap = 0; return leap; } (1)请画出控制流图,并计算圈复杂度V(G)。 (2)找出独立路径。

阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】 某文本文件中保存了若干个日期数据,格式如下(年/月/日): 2005/12/1 2013/2/29 1997/10/11 1980/5/15 .... 但是其中有些日期是非法的,例如2013/2/29是非法日期,闰年(即能被400整除或者能被4整除而不能被100整除的年份)的2月份有29天,2013年不是闰年。现要求将其中自1985/1/1开始、至2010/12/31结束的合法日期挑选出来并输出。 下面的C代码用于完成上述要求。 【C代码】 include stdio.h typedef struct{ int year, month, day;/* 年,月,日*/ }DATE; int isLeap Year(int y) /*判断y表示的年份是否为闰年,是则返回1,否则返回0*/ { return((y%4==0 y%100!=0)Il(y%400==0)); } int isLegal(DATE date) /*判断date表示的日期是否合法,是则返回1,否则返回0*/ { int y=date.year,m= date.month,d=date.day; if (y1985 II y2010 II m1 II m12 II dl II d31) return 0; if((m==4 ll m==6 ll m==9 II m==11) (1) ) return 0; If(m==2){ if(isLeap Year(y) (2) ) return 1; 。 else if (d28) return 0; } return 1; } Int Lteq(DATE d1,DATE d2) /*比较日期d1和d2,若d1在d2之前或相同则返回1,否则返回0*/ { Long t1,t2; t1=d1.year*10000+d1.month*100+d1.day; t2=d2.year*10000+d2.month*100+d2.day; if( (3) ) return 1; else return 0; } int main() { DATE date,start={1985,1,1},end={2010,12,30}; FILE*fp; fp=fopen(d.txt,r); If( (4) ) return-1; while(!feof(fp)){ if(fscanf(fp,%d%d%d,date.year,date.month,date.day)!=3) break; if( (5) ) /*判断是否为非法日期 */ continue; if( (6) ) /*调用Lteq判断是否在起至日期之间*/ printf(%d%d%d\n,date.year,date.month,date.day); } fclose(fp); Return 0; }

试题二(共 15 分)阅读以下说明和 C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]已知 1900 年 1 月 1 日是星期一,下面的函数 count_5_13(int year)用于计算给定的年份 year中有几个“黑色星期五” 。 “黑色星期五”指既是 13 日又是星期五的日期。函数 count_5_13(int year)首先算出年份 year 的1月 13 日是星期几,然后依次计算每个月的 13 日是星期几,若是星期五,则计数。程序中使用了函数 isLeapYear(int year),其功能是判断给定年份是否为闰年,返回值为 1(或 0)分别表示 year 是(或不是)闰年。[C 语言函数]int count_5_13(int year){int date; /* date 为 0 表示星期日,为 1~6 分别表示星期一至星期六 */long days = 0; /* days 记录天数 */int m, y, c = 0; /* c 用于表示黑色星期五的个数 */if (year 1900) return -1;/*计算从 1900 年 1 月 1 日起,至给定年份 year 的 1 月 13 日间隔的天数*/days = 12;for (y = 1900; y year; y++) {days += 365;if (isLeapYear(y)) (1) ;}date = ((days % 7) + 1) % 7; /* 算出给定年份year 的1 月 13 日是星期几 */c = ( (2) ) ? 1 : 0;for(m = 1; (3) ; m++) {switch (m) {case 1: case 3: case 5: case 7: case 8: case 10: case 12:days = 31; break;case 4: case 6: case 9: case 11:days = 30; break;case 2: days = 28;if ( (4) ) days = 29;break;}/* end of switch*/date =((days % 7) + (5) ) % 7;if (date == 5) c++;} /* end of for*/return c;}

阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】某文本文件中保存了若干个日期数据,格式如下(年/月/日):2005/12/12013/2/291997/10/111980/5/15....但是其中有些日期是非法的,例如2013/2/29是非法日期,闰年(即能被400整除或者能被4整除而不能被100整除的年份)的2月份有29天,2013年不是闰年。现要求将其中自1985/1/1开始、至2010/12/31结束的合法日期挑选出来并输出。下面的C代码用于完成上述要求。【C代码】#include typedef struct{int year, month, day;/* 年,月,日*/}DATE; int isLeap Year(int y) /*判断y表示的年份是否为闰年,是则返回1,否则返回0*/{return((y%4==0 if(y2010 II m12 II d31) return 0;if((m==4 ll m==6 ll m==9 II m==11)If(m==2){if(isLeap Year(y) } Int Lteq(DATE d1,DATE d2)/*比较日期d1和d2,若d1在d2之前或相同则返回1,否则返回0*/{Long t1,t2;t1=d1.year*10000+d1.month*100+d1.day;t2=d2.year*10000+d2.month*100+d2.day;if((3)) return 1;else return 0;} int main(){DATE date,start={1985,1,1},end={2010,12,30};FILE*fp; fp=fopen(“d.txt”,”r”);If((4))return-1; while(!feof(fp)){if(fscanf(fp,”%d%d%d”,date.year,date.month,date.day)!=3)break;if((5)) /*判断是否为非法日期*/continue;if((6)) /*调用Lteq判断是否在起至日期之间*/printf(“%d%d%d\n”,date.year,date.month,date.day);}fclose(fp);Return 0;}

针对下列程序段,需要( )个测试用例可以满足分支覆盖的要求。int IsLeap(int year){if(year%4==0){if((year%100==0){if(year%400==0)leap=1;else leap=0;}else leap=l;}else leap=0;return leap;}A.3B.4C.6D.7

编写一个Java程序,对于给定的年份,回答“Leap Year”(闰年)或者“Not a Leap Year”(平年)。如果一个年份能被4整除,但是不能被100整除,它是闰年;如果一个年份能被100整除,也能被400整除,它也是闰年。需要定义名为LeapYear的服务提供类

运用判断变形法直接推理,以“有的年份是闰年”为前提,可以推得的结论有()。A、有的年份不是闰年B、有的闰年是年份C、闰年都是年份D、非闰年不是年份E、有的年份不是闰年

能完全正确表示“year是闰年”的逻辑表达式是()。A、 year mod 4=0B、 year mod 400=0C、(year mod 400=0)or(year mod 4=0)and(year mod 1000)D、(year mod 400=0)and(year mod 4=0)or(year mod 1000)

闰年的条件是年号(year)能被4整除,但不能被100整除,或者能被400整除。则闰年的布尔表达式为()。A、(yearmod4=0andyearmod1000)and(yearmod400=0)B、(yearmod4=0andyearmod1000)or(yearmod400=0)C、(yearmod4=0oryearmod1000)and(yearmod400=0)D、(yearmod4=0oryearmod1000)or(yearmod400=0)

多选题运用判断变形法直接推理,以“有的年份是闰年”为前提,可以推得的结论有()。A有的年份不是闰年B有的闰年是年份C闰年都是年份D非闰年不是年份E有的年份不是闰年

单选题判断年份是否为闰年,如果是,结果保存“闰年”,如果不是,则结果保存“平年”,说明:闰年定义:年数能被4整除而不能被100整除,或者能被400整除的年份。使用哪个函数?,()AIFBCOUNTFCRANKDCOUNTA

单选题能完全正确表示“year是闰年”的逻辑表达式是()。A year mod 4=0B year mod 400=0C(year mod 400=0)or(year mod 4=0)and(year mod 1000)D(year mod 400=0)and(year mod 4=0)or(year mod 1000)