资源描述:
《实验10指针做函数参数编程训练》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验10指针做函数参数编程训练实验目的:1.掌握指针的定义及使用;2.体会使用指针的作用;3.掌握指针做函数参数的作用;4.掌握指针做函数参数的基本步骤;实验题目:1.输入某年某月某日,计算并输出它是这一年的第几天。/*函数功能:对给定的某年某月某日,计算它是这一年第几天函数参数:整型变量year,month,day,分别代表年,月,日函数返回值:这一年的第几天*/intDayofYear(intyear,intmonth,intday);2.输入某一年的第几天,计算并输出它是这一年的第几月第几
2、日。/*函数功能:对给定的某一年的第几天,计算它是这一年的第几月第几日函数入口参数:整型变量year,存储年整型变量yearDay,存储这一年的第几天函数出口参数:整型指针pMonth,指向存储这一年第几月的整型变量整型指针pDay,指向存储第几日的整型变量函数返回值:无*/voidMonthDay(intyear,intyearDay,int*pMonth,int*pDay);3.输出如下菜单,用switch语句实现根据用户输入的选择执行相应的操作。1.year/month/day->year
3、Day2.yearDay->year/month/day3.ExitPleaseenteryourchoice:参考程序及注释:#include#includeintDayofYear(intyear,intmonth,intday);voidMonthDay(intyear,intyearDay,int*pMonth,int*pDay);voidMenu(void);intdayTab[2][13]={{0,31,28,31,30,31,30,31,31,
4、30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};intmain(){intyear,month,day,yearDay;charc;Menu();/*调用Menu函数显示一个固定式菜单*/c=getchar();/*输入选择*/switch(c)/*判断选择的是何种操作*/{case'1':printf("Pleaseenteryear,month,day:");scanf("%d,%d,%d",&year,&month,&day);y
5、earDay=DayofYear(year,month,day);printf("yearDay=%d",yearDay);break;case'2':printf("Pleaseenteryear,yearDay:");scanf("%d,%d",&year,&yearDay);MonthDay(year,yearDay,&month,&day);printf("month=%d,day=%d",month,day);break;case'3':exit(0);/*退出程序的运行*/d
6、efault:printf("Inputerror!");}return0;}/*函数功能:对给定的某年某月某日,计算并返回它是这一年的第几天*/intDayofYear(intyear,intmonth,intday){inti,leap;/*若year为闰年,即leap值为1,则用第1行元素dayTab[1][i]计算;否则leap值为0,用第0行dayTab[0][i]计算*/leap=((year%4==0)&&(year%100!=0))
7、
8、(year%400==0);for(i=1;
9、i10、
11、(year%400==0);for(i=1;yearDay>dayTab[leap][i];i++){ye
12、arDay=yearDay-dayTab[leap][i];}*pMonth=i;/*将计算出的月份值赋值给pMonth所指向的变量*/*pDay=yearDay;/*将计算出的日号赋值给pDay所指向的变量*/}/*函数功能:显示菜单*/voidMenu(void){printf("1.year/month/day->yearDay");printf("2.yearDay->year/month/day");printf("3.Exit");printf("Pleaseentery