c语言大作业仅供参考_第1页
c语言大作业仅供参考_第2页
c语言大作业仅供参考_第3页
c语言大作业仅供参考_第4页
c语言大作业仅供参考_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验综合练打印万年历(1)已知公元 1 年 1 月 1 日是编程如下:#include void main()一,计算输入的年月日是几?i,year,th,day,day_of_year,day_of_th;long sumday=0;prf(请先输入年、月、日,中间以空格或换行符间隔:n);scanf(%ld%ld%ld,&year,&for(i=1;i=year-1;i+)th,&day);if(i%400=0|i%100!=0&i%4=0)day_of_year=366;elseday_of_year=365; sumday=sumday+day_of_year;for(i=1;i=th

2、-1;i+)if(i=1|i=3|i=5|i=7|i=8|i=10|i=12)day_of_th=31;else if(i=4|i=6|i=9|i=11)day_of_else if(i=2)th=30;if(year%400=0|year%100!=0&year%4=0)day_of_th=29;elseday_of_th=28;sumday=sumday+day_of_th;sumday=sumday+day; i=sumday%7;if(i=0)i=7;prf(%ld 年%ld 月%ld 日是%dn,year,th,day,i);为了使输出的为大写且将#include void main

3、()7 变成天,可作如下改动:i,year,th,day,day_of_year,day_of_th;long sumday=0;prf(请先输入年、月、日,中间以空格或换行符间隔:n);scanf(%ld%ld%ld,&year,&for(i=1;i=year-1;i+)th,&day);if(i%400=0|i%100!=0&i%4=0)day_of_year=366;elseday_of_year=365; sumday=sumday+day_of_year;for(i=1;i=th-1;i+)if(i=1|i=3|i=5|i=7|i=8|i=10|i=12)day_of_th=31;e

4、lse if(i=4|i=6|i=9|i=11)day_of_else if(i=2)th=30;if(year%400=0|year%100!=0&year%4=0)day_of_th=29;elseday_of_th=28;sumday=sumday+day_of_th;sumday=sumday+day; i=sumday%7; switch(i)pr f(%ld 年%ld 月%ld 日是 pr f(%ld 年%ld 月%ld 日是 pr f(%ld 年%ld 月%ld 日是 pr f(%ld 年%ld 月%ld 日是 pr f(%ld 年%ld 月%ld 日是 pr f(%ld 年%l

5、d 月%ld 日是 pr f(%ld 年%ld 月%ld 日是日,year,一,year,二,year,三,year,四,year,五,year,六,year,case 0:case 1:case 2:case 3:case 4:case 5:case 6:th,day); break;th,day); break; th,day); break; th,day); break; th,day); break; th,day); break; th,day); break;prf(n);当然也可以这样编程:#include leap_year(year)if(year%400=0 | year

6、%100!=0 & year%4=0)return 1;elsereturn 0;void main()long year,th, day;char *a7=日,六;一,二,三,四,五,prf(请先输入年、月份、日,中间以空格或换行符间隔:n);scanf(%ld%ld%ld,&year,&i, xq=0,sumday=0; for(i=1;i=year-1;i+)th,&day);sumday=sumday+365+leap_year(i);for(i=1;i=th-1;i+)if(i=1|i=3|i=5|i=7|i=8|i=10|i=12)sumday=sumday+31;else if(

7、i=4|i=6|i=9|i=11) sumday=sumday+30;else if(i=2) sumday=sumday+28+leap_year(year);sumday=sumday+day; i=sumday%7;prf(%ld 年%ld 月%ld 日是%sn,year,th,day,ai);(2)输入年份,在屏幕上输出该年的年历(已知 1900 年第一天也是#include void main()一)。year,i,j,k,sumday,yuandan,f(Please input the year:n);kday,day,day_of_year,day_of_th;prscanf(

8、%d,&year);prf(n);for(i=1,sumday=0;i=year-1990;i+)if(i%400=0|i%100!=0&i%4=0) day_of_year=366;elseday_of_year=365;sumday=sumday+day_of_year;yuandan=(sumday+1)%7; kday=yuandan;f(公元%d 年n,year);prfor(i=1;i=12;i+)f(%d 月n,i);prprf(SunTue Wed Thu Fri Satn);for(j=0;jkday;j+)prf();if(i=1|i=3|i=5|i=7|i=8|i=10|

9、i=12)day_of_th=31;else if(i=4|i=6|i=9|i=11)day_of_else if(i=2)th=30;if(year%400=0 | year%100!=0 & year%4=0)day_of_th=29;elseday_of_th=28;day=day_of_th;for(k=1;k=day;k+)prf(%4d,k);kday=(kday+1)%7;if(kday=0)prf(n);prf(nn);#include void main()year,i,j,k,sumday,yuandan,kday,day,day_of_year,day_of_th;prf

10、(Please input the year:n);scanf(%d,&year);prf(n);for(i=1,sumday=0;i=year-1;i+)if(i%400=0|i%100!=0&i%4=0)day_of_year=366;elseday_of_year=365; sumday=sumday+day_of_year;yuandan=(sumday+1)%7; kday=yuandan;f(公元%d 年n,year);prfor(i=1;i=12;i+)switch(i)case 1:prcase 2:pr case 3:pr case 4:pr case 5:pr case 6

11、:pr case 7:pr case 8:pr case 9:pr case 10:pr case 11:pr case 12:prf(f(f(f(f(f(f(f(f(f(f(f(Januaryn); break;Februaryn); break; Marchn); break; Apriln); break; Mayn); break; Junen); break; Julyn); break; Augustn); break; Septembern); break; Octobern); break; Novembern); break; Decembern);break;prf(Sun

12、Tue Wed Thu Fri Satn);for(j=0;jkday;j+)prf();if(i=1|i=3|i=5|i=7|i=8|i=10|i=12)day_of_th=31;else if(i=4|i=6|i=9|i=11)day_of_else if(i=2)th=30;if(year%400=0 | year%100!=0 & year%4=0)day_of_th=29;elseday_of_th=28;day=day_of_th;for(k=1;k=day;k+)prf(%4d,k);kday=(kday+1)%7;if(kday=0)prf(n);prf(n);或者: #inc

13、lude void main()year,i,j,k,sumday,yuandan,kday,day,day_of_year,day_of_th;cha*a13=,January,February,March,April,May,June,July,August,September,October,November,December;prf(Please input the year:n);scanf(%d,&year);prf(n);for(i=1,sumday=0;i=year-1990;i+)if(i%400=0|i%100!=0&i%4=0) day_of_year=366;elsed

14、ay_of_year=365; sumday=sumday+day_of_year;yuandan=(sumday+1)%7; kday=yuandan;f(公元%d 年n,year);prfor(i=1;i=12;i+)prprf(%sn”,ai);f(SunTue Wed Thu Fri Satn);for(j=0;jkday;j+)prf();if(i=1|i=3|i=5|i=7|i=8|i=10|i=12)day_of_th=31;else if(i=4|i=6|i=9|i=11)day_of_else if(i=2)th=30;if(year%400=0 | year%100!=0

15、& year%4=0)day_of_th=29;elseday_of_th=28;day=day_of_th;for(k=1;k=day;k+)prf(%4d,k);kday=(kday+1)%7;if(kday=0)prf(n);prf(nn);当然也可以定义函数和调用定义的函数:#includeleap_year(year)if(year%400=0 | year%100!=0 & year%4=0)return 1;elsereturn 0;day_of_th(i,year)if(i=1|i=3|i=5|i=7|i=8|i=10|i=12)return 31;else if(i=4|i=

16、6|i=9|i=11) return 30;else if(i=2)return 28+leap_year(year);void main()year,i,j,k,sumday,day,kday,day;char*a13=,January,February,March,April,May,June,July,August,September,October,November,December;prf(Please input the year:n);scanf(%d,&year);prf(n);for(i=1,sumday=0;i=year-1990;i+)sumday=sumday+365+

17、leap_year(i); day=(sumday+1)%7;kday=day;f(%d 年n,year);prfor(i=1;i=12;i+)prprf(%sn,ai);f(SunTue Wed Thu Fri Satn);for(j=0;jkday;j+)prf();th(i,year);day=day_of_for(k=1;k=day;k+)prf(%4d,k);kday=(kday+1)%7;if(kday=0)prf(n);prf(n);运行结果实例如下:2001JanuarySunTue29Wed310Thu411Fri512Sat613187February实验综合练习二(1)输

18、入一个班10 个学生的学号和每个学生三门功课(数、计算机基础)的成绩。编程计算出每个学生的总分和平均分,并按学生成绩优劣排序,最后打印一张按高分到低分名次排序的成绩表。要求:打印的成绩单表项包括:序号,学号、数编程如下:#include void main()i,j,k,sum,temp;a117;for(i=1,j=0;i11;i+) ai0=i;for(i=1;i11;i+)sum=0;prf(请输入第%d 名学生的学号:n,i);、计算机、总分、平均分。scanf(%d,&ai1);prf(请输入第%d 名学生的数学成绩:n,i); scanf(%d,&ai2);prf(请输入第%d 名

19、学生的英语成绩:n,i); scanf(%d,&ai3);prf(请输入第%d 名学生的计算机成绩:n,i); scanf(%d,&ai4);sum=sum+ai2+ai3+ai4; ai5=sum;ai6=ai5/3;for(i=1;i11;i+)for(k=1;k11-i;k+)if(ak5ak+15)for(j=1;j7;j+)temp=akj; akj=ak+1j; ak+1j=temp;f(序号 学号数学 英语计算机 总分 平均分n);prfor(i=1;i11;i+)for(j=0;j7;j+)prf(%6d,aij);prf(n);这里排序应用了冒泡排序,当然也可以应用选择排序,

20、自己可以去试一下!这里给大家一组数据:序号学号数计算机总分平均分44787593558487836682839077798791运行后的结果应该为:(2)输入一个班 10 个学生的学号和每个学生三门功课(数、计算机基础)的成绩。编程计算出每个学生的总分和平均分,并按学生成绩优劣排序,最后打印一张按高分到低分名次排序的成绩表。要求:1)排序用一个函数实现。2)打印的成绩单表项包括:序号,学号、数3)用结构体来存放学生的信息编程如下:#include struct student、计算机、总分、平均分。xuhao,stu_nuputer,sum,aver;void paixu(student *stu,n)student stud; i,j;for(i=0;in-1; i+) for(j=i+1;jn;j+)if(stui.sum stuj.sum)stud = stui; stui = stuj; stuj = stud;void main( )序号学号数计算机总分平均分8921878592264883985869

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论