- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言第七次作业
第七次作业:结构体
计算日期的差值
(1)编写一函数,计算两个日期之间的时间差,并将其值返回。
日期以年、月、日表示。
“时间差”以天数表示。
注意考虑日期之间的闰年。
函数的输入参数为日期1和日期2,
函数的返回值为时间差,单位为天数。
(2)编写一程序,在主函数中输入两个日期,调用上述函数计算两个日期之间的时间差,并将结果输出。
为了计算简便,假设用户输入的日期1总是早于日期2。
#includestdio.h
#includemath.h
struct date
{int day;int month;int year;}date1,date2;
int totaldays(struct date *p,struct date *q)
{
int years,total=0,i;
int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
years=q-year-p-year;
if(years==0)
{
if(p-month==q-month)
total=q-day-p-day;
else
{for(i=p-month;iq-month-1;i++)
total+=monthday[i];
total+=monthday[p-month-1]-p-day+q-day;}
if(((q-year)%4==0(q-year)%100!=0)||(q-year)%400==0)
if(p-month=2||q-month2)
total++;
}
else if(years!=0)
{
for(i=p-month;i12;i++)total+=monthday[i];
total+=monthday[p-month-1]-p-day;
for(i=0;iq-month-1;i++)total+=monthday[i];
total+=q-day;
for(i=p-year+1;i(q-year);i++)
{
total+=365;
if((i%4==0i%100!=0)||i%400==0)
total++;
}
if(((p-year%4==0p-year%100!=0)||p-year%400==0)p-month=2)total++;
if(((q-year%4==0q-year%100!=0)||q-year%400==0)q-month2)total++;
}
return total;
}
void main()
{
int days;
printf(please input date1(year,month,day):);
scanf(%d,%d,%d,date1.year,date1.month,date1.day);
printf(please input date2(year,month,day):);
scanf(%d,%d,%d,date2.year,date2.month,date2.day);
days=totaldays(date1,date2);
printf(days=%d\n,days);
}
结构体数组应用
请定义一个描述学生基本信息的结构,包括姓名,学号,籍贯,身份证号,年龄,家庭住址,性别,联系方式等。并定义一个结构体数组。编程:
编写函数 input() , 输入基本信息(3~5条记录);
编写函数 print(),输出全体记录信息;
编写函数 search(), 检索一个指定的学生信息并返回, 由主函数打印到屏幕上;
说明,访问结构的时候,什么时候应该用运算符“.”,什么时候应该用运算符“-”。
#includestdio.h
#includestring.h
struct student
{char name[20];int num;char home[20];char IDnum[20];int age;char addr[50];char sex;char phone[20];}stu[10];
void input(struct student *p)
{
scanf(%s %d %s %s %d %s %c %s,p-name,p-num,p-home,p-IDnum,p-age,p-addr,p-sex,p-phone);
}
void print(struct student *p)
{
printf(%s,%d,%s,%s,%d,%s,%c,%s\n,p-name,p-num,p-home,p
您可能关注的文档
最近下载
- 爱护我们的人民币.ppt VIP
- GJB9001C:2017质量保证大纲.doc VIP
- 可用性人因设计研究报告 .pdf VIP
- 设计概论讲课课件(第三版杨晓琪).pptx VIP
- 西师版六年级数学教案(上学期)全册教学案.pdf VIP
- 1.1+坚持改革开放(课件)-2025-2026学年九年级道德与法治上册(统编版).pptx VIP
- 2025-2026学年初中数学人教版2024八年级上册-人教版2024教学设计合集.docx
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf VIP
- 创新创业基础(高职高专版)PPT教学完整课件.ppt
- 人教版小学六年级数学上册全册教案 -(最全).doc VIP
文档评论(0)