c语言实验报告64560_第1页
c语言实验报告64560_第2页
c语言实验报告64560_第3页
c语言实验报告64560_第4页
c语言实验报告64560_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、四川师范大学计算机科学学院C语言程序设计实验手册2012年2月年级: 2011级 专业: 电子商务 班级: 04班 姓名: 罗桂清 学号: 2009110438 指导教师: 廖雪花 C语言程序设计实验课程简介课程名称:C语言程序设计实验课程性质:专业必修课课程属性:专业必修课学时学分:学时32 学分1开课实验室:软件实验室面向专业:网络工程、软件工程、计算机科学与技术一、课程的任务和基本要求C语言程序设计实验是面向计算机相关专业学生开设的C语言程序设计实验课,是配合C语言程序设计课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C语言程序设计的基本概念、各种数据类型的使用技巧、模块化

2、程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。二、实验项目【实验一】最简单的C程序-顺序程序设计【实验二】逻辑运算和判断选取控制【实验三】循环结构程序设计(一)【实验四】循环结构程序设计(二)【实验五】函数【实验六】数组(一)【实验七】数组(二)【实验八】指针【实验九】结构体、共用体和文件【实验十】C程序综合性实验三、有关说明1、与其它课程和教学环节的联系:先修课程:计算机文化后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程2

3、、教材和主要参考书目:(1)教材: C程序设计习题解答与上机指导,谭浩强 吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: C语言程序设计 谭浩强主编,清华大学出版社,2003年。三、实验内容实验一 最简单的C程序-顺序程序设计(验证性实验 2学时)(一)、实验目的1熟悉win-tc程序运行环境2掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法3掌握C语言中使用最多的一种语句赋值语句4掌握数据的输入输出方法,能正确使用各种格式控制符(二)、实验内容1写出下列程序的运行结果(1)#include void main()printf(“*n”);printf(“Th

4、is is a c program. n”);printf(“*n”);运行结果及分析:运行结果: * This is a c program *分析:1. c程序中的#include是指一个标准输入输出文件,它包含了标准输入输出函数。2. 一个c程序中必须只能有一个main函数,void main()是指子最后不给程序返回任何值;3. 这个程序中的prinft函数是用来显示输出的,这三条命令全都会显示输出。将程序中的n去掉后,运行结果及分析:运行结果: *This is a program*分析: 1. 一个c程序中必须只能有一个main函数,void main()是指子最后不给程序返回任何

5、值; 2.c程序支持一些特殊的反斜杠字符常量,这些常量常用于输出函数中,n是指换行输出,所以将n去掉后,printf中的三条语句就不会换行输出,只显示在一排。 (2)#include void main() int a=100,b=20,sum,sb;sum=a+b;sb=a/b; printf(sum=%d,sb=%d,sum,sb);运行结果及分析:运行结果: sum=120.sb=5分析:1.这是一个关于数的简单加法计算和除法计算并显示出结算结果的c程序; 一个c程序中必须只能有一个main函数,void main()是指子最后不给程序返回任何值;2.用int将变量定义成了整型变量;3.

6、在定义变量时就将a和b初始化了值用于后面计算;4.将a和b的和赋值到了sum中,将a和b 的商赋值到了sb中,并显示输出;5.%d是指输出的时候是输出整数型(3)#include void main( ) char c1,c2; c1=97;c2=98;printf(%c ,%cn,c1,c2);printf(%d,%dn,c1,c2);printf(%c %cn,c1+1,c2+2);运行结果及分析:运行结果: a b 97, 98 c, d分析:1.一个c程序中必须只能有一个main函数,void main()是指子最后不给程序返回任何值;2.用char将c1和c2定义成字符变量,并给其赋

7、值;所以;3用printf(%c ,%cn,c1,c2)输出c1和c2所对应的字符,而97、98所对应的值是a和b4. 用printf(%d,%dn,c1,c2)输出所对应的值; 5. printf(%c %cn,c1+1,c2+2)是指将和中的值加上和后所对应的字符值输出。 (4)#include void main () int i=8,j=10,m,n;m=+i;n=j+; printf(%d,%d,%d,%d,i,j,m,n);运行结果及分析:运行结果:,11,9,10分析:1.一个c程序中必须只能有一个main函数,void main()是指子最后不给程序返回任何值;2.用int将i

8、,j,m,n定义成整型变量;3m=+i是指将i加1后赋值给m和i,n=j+是指先将j的值赋给n,然后j=j+1;4.用printf(%d,%d,%d,%d,i,j,m,n)显示输出各变量所对应的值。再将本程序的第3行改为m=i+;n=+j;运行结果及分析:运行结果:,11,8,11分析:1.一个c程序中必须只能有一个main函数,void main()是指子最后不给程序返回任何值;2.用int将i,j,m,n定义成整型变量;3m=i+是指先将i的值赋给m,然后i=i+1的值;n=j+是指将j+1的值赋给j和m;4.用printf(%d,%d,%d,%d,i,j,m,n)显示输出各变量所对应的值

9、。2程序填空任意输入一个有五位数字的正整数x,分别输出每一数位上的数字(由高到低分别用b5,b4,b3,b2,b1表示),请将程序补充完整。#include main() int b1,b2,b3,b4,b5; long int x;Scanf( “ %ld ”,&x);b5= (x/10000)%10 ;b4=(x/1000)%10;b3= (x/100) %10;b2=(x/10)%10;b1= x %10 ; printf(“the number is %ld n”,x); printf(“its bit is:%d,%d,%d,%d,%dn”,b5,b4,b3,b2,b1); 程序分析

10、: 1.由于此程序要输出一个五位数,所以应将变量的类型定义成long int,以免超出范围后导致乱码输出; 2.scanf函数用于键盘输入,此命令将用户输入的值赋给x; 3.将输入的五位数的每一位的值通过运算公式转换成数,并用prinft函数显示输出。3程序改错(注意:题中的编号为行序号,并非程序本身)计算任意一个半径为r的圆的面积和周长(结果保留两位小数)(1)#include (2)main()(3)float r; p=3.14,c,area;(4) printf(“input r:”);(5) scanf(“%f ”, r);(6) c=2p*r;(7) area=p*r*r(8) p

11、rintf(“c=%-7.2f,area=%-7.2f”,c,area);(9)错误语句的行号: (3)改正后的语句全行:float r, p=3.14, c, area;错误语句的行号: (5)改正后的语句全行: scanf(“%f”, &r);错误语句的行号: (6)改正后的语句全行: c=2*p*r;错误语句的行号: (7)改正后的语句全行:area=p*r*r;改错分析: 1.在c程序中,一个语句中声明多个变量是需要用“,”隔开; 2.用scnf函数时,变量前面必须加操作符&,指明该变量的地址; 3.乘法表示要用*号表示; 4.每一个执行语句结束后必须用分号“;”结束。实验二 逻辑运算

12、和判断选取控制(验证性实验 2学时)(一)、实验目的1了解逻辑量在C语言中的表示方法2学会使用逻辑运算符和逻辑表达式3熟练掌握if语句和switch语句(二)、实验内容1写出下列程序的运行结果(1)#include void main( ) int a,b,x=10,y=9;a=(-x = y+)? -x : +y;b= y;printf(“%d,%dn”,a,b);运行结果及分析:运行结果: 8,10分析:1. 此程序是关于逻辑运算符、递增和递减运算符以及条件运算符的应用;2. void main()是指程序结束后不返回任何值;3. int a,b,x=10,y=9;是定义int类型的整数变

13、量及给想x和y初始化值;4. a=(-x = y+)? -x : +y;是指当x-1的值等于y的值时x=x-1,否则x=+y,因为x=9=y,所以条件成立,a的值就等于x,而在前面的运算中x=9、y=10,因此x=8;b=y=9;5. printf函数显示输出所运算出来的结果。(2)#include void main()int a=2,b=-1,c=2;If(ab)if(b0)c=0;else c+=1;elseprintf(“%dn”,c);运行结果及分析:运行结果: 2分析:1. 此程序时关于if函数和c+=1类型的复合函数语句的应用;2. 当if条件成立时就执行if下面的语句,不成立时

14、则直接执行else语句,此程序中的if(ab)不成立,所以直接执行else c+=1;3. c+=1;是指c=c+1,(3)#include void main( )int a=0,b=0,c=0;if(+a 0 | +b 0) +c;printf(“na=%d,b=%d,c=%d”,a,b,c);运行结果及分析:运行结果: a=1, b=0, c=1;分析:1. 此程序是关于if函数和递增运算符的应用; 2. int a=0,b=0,c=0;是定义整形变量并给其赋值;3.if(+a 0 | +b 0) +c;是值当+a 0 和 +b 0同时满足时,执行后面的+才,因为前面条件满足,所以执行+

15、c;因此a=1,c=1,而因为在逻辑条件成立时,值进行前面的运算,所以b还是等于0; 4Printf输出运算结果。(4)#include void main() int x=-1;switch (x)default: printf(“a”); case 1: printf(“b”); case 2: printf(“c”);运行结果及分析:运行结果: abc分析:1. 此程序是关于switch语句的应用,在C语言中它经常跟Case一起使用,是一个判断选择代码。其功能是控制业务流程流转的;2. void main()是指程序结束后不返回任何值;intx=-1,是指定义整形变量并给其赋值;3. 在

16、switch()开始时,从default处开始执行,输出a,在往下执行,不满足case1,输出b,再执行case2,也不满足,因此输出c。在case 1:printf(“b”);后加上break;语句,结果如何?修改程序并上机调试。运行结果及分析:运行结果: ab分析:1. 此程序是关于switch语句的应用,在C语言中它经常跟Case一起使用,是一个判断选择代码。其功能是控制业务流程流转的;2. void main()是指程序结束后不返回任何值;intx=-1,是指定义整形变量并给其赋值;3. 在switch()开始时,从default处开始执行,输出a在往下执行,不满足case1出c.在遇

17、到break时退出执行。2程序填空输入两个整数,从用户处获取这两个整数,显示其中较大的数,在其后跟随“is larger”。如果这两个数相等,显示“These numbers are equal.”。请在_内填入正确内容。#include void main( )int a,b;printf(“please input two numbers, a, b! “);scanf(“%d%d”,&a,&b);if( ab ) printf(“%d is larger”, a );else if(_a=b_) printf(“These numbers are equal”);else _printf

18、(“%d is larger”,b); 填空:ab填空:_a=b_填空: _printf(“%d is larger”,b);结果分析:运行结果: 5 is larger分析:1 此程序涉及到了scanf键盘输入和if条件语句的应用;2 scanf(“%d%d”,&a,&b)指用户输入两个数保存到a和b中;3 if( ab ) printf(“%d is larger”, a );else if(_a=b_) printf(“These numbers are equal”);else _printf(“%d is larger”,b);指当ab成立时输出a is larger,若a=b时输出

19、These numbers are equal,若前面都不成立,ab时,输出b is larger.;3编写程序(1)编写一个程序,读入5个整数,然后确定并显示这组数中的最大整数和最小整数。 程序清单:#includevoid main() int max,min,x,n; printf(please input the first number:); scanf(%d,&x); max=min=x; for(n=2;nmax) max=x;continue; if(xmax) max=x;continue; if(xmin) min=x;实现了这个功能。(2)编写程序,读取一个整数,判断并显

20、示出这个整数是奇数还是偶数。(提示:使用求模运算符。偶数是2的倍数。任何2的倍数除以2时,余数均为零。)程序清单:#include void main() int n; printf(please input a number); scanf(%d,& n); if(n%2=0) printf(This number is even number); else printf(This number is odd number); getch();程序编写注意事项:1. 键盘输入函数不能丢掉位置控制符号&;2. %是模运算符,取两数相处的余数;3. 判断是奇数还是偶数要用条件运算符if。else

21、语句。(3)编写一个程序,从键盘中输入3个不同的整数,然后显示这3个整数的和、平均数、积、最小数和最大数。(用if语句)屏幕中的对话内容如下所示:Input three different integers: 13 27 14Sum is 54Average is 18Product is 4914Smallest is 13Largest is 27程序清单:#include void main() int a ,b , c, m, n; printf(Input three different integers:n); printf(Input first number:); scanf(

22、%d,& a); printf(Input scend number:); scanf(%d,& b); printf(Input third number:); scanf(%d,& c); printf(Sum is %dn,a+b+c); printf(Average is %dn,(a+b+c)/3); printf(Product is %dn, a*b*c); if(ab & ac)m=a; else m=b; if(bc)m=b; else m=c; printf(Max is %dn, m); if(ab)n=a; else n=b; if(bc)n=b; else n=c;

23、printf(Min is %dn, n); getch();程序编写注意事项:1 函数要在main函数中进行定义,然后用scanf函数给定义好的三个变量赋值;2 对函数进行算术运算是要用c语言中特定的运算符,乘号用*表示,除号用/表示,括号代表优先级运算;3 比较三个数大小的时候要用if.else条件函数进行比较;4 如果要在一条语句中显示,要注意c语言中的运算顺序。实验三 循环结构程序设计(一)(验证性实验 2学时)(一)、实验目的1熟悉用while语句、do-wile语句和for语句实现循环的方法2掌握在程序设计中用循环方法实现的算法(二)、实验内容1写出下列程序的运行结果(1)#inc

24、lude void main()int count=1;while(count=10)count+;printf(“%sn”,count%2? “*”: “+”);运行结果及分析:运行结果: + * + *+ *+ *+ *分析:1. while是入口控制循环语句,先计算测试条件,如果该条件为真,那么就运行其循环体语句,运行完后,再次计算测试条件,如果仍为真,则继续计算循环体,直到条件为假,所以在本程序中,直到将count+运行到count等于10时停止运算;2. 在prinrf语句中,count%2是对count进行求模运算,并用?条件语句,当count%2时输出*,否则就输出+。因为cou

25、nt一直循环到10,所以就各出了五次。(2)#include void main() int row=10,Column; while(row=1) Column=1;while(Column =10)printf(“%s”,row%2 ? “”); Column+; row-; printf(“n”);运行结果及分析:运行结果: 分析:1. while是入口控制循环语句,先计算测试条件,如果该条件为真,那么就运行其循环体语句,运行完后,再次计算测试条件,如果仍为真,则继续计算循环体,直到条件为假;2. while可进行循环的嵌套,在本程序中就进行了循环的嵌套,在第一个循环下,再进行while

26、循环,第二个循环是对Column进行求模和用?判断输出,一直循环到Column=10为止,第一个while循环是控制换行输出的,直到row=1时退出循环。(3)#include void main() int y=9;for( ; y0 ; y-) if(y%3=0) printf(%dn , -y);运行结果及分析:运行结果: 8 5 2分析:1. for语句也是一种入口控制循环,在本程序中for( ; y0 ; y-)是循环条件,先将y初始化为9,每执行一次后面的循环体y就自减一次,知道y=0是停止循环;2. if(y%3=0) printf(%dn , -y);是循环体,意识是当y除以3

27、没有余数时就输出y-1的值;3. 该程序是关于for循环和求模运算的应用。2编写程序(1)利用循环语句来显示如下所示的数值表:程序清单如下:#include void main()int n;printf(Nt10*Nt100*Nt1000*Nn) ; n=1; while(n=10) printf(%dt %dt %dt %dn ,n,10*n,100*n,1000*n ); n+; getch();程序编写注意事项:1. 此程序的输出要用到循环语句,可以选择用for循环或者while循环;2. 在编写程序时考虑到格式的美观可以用t使各个数之间保持一定的间距。(2)编写一程序,能够输入一组1

28、0个数字,判断并显示出这些数字中的最大数。提示:程序中应该使用如下的3个变量: Counter:能够记数到10的记数器。 Number:当前输入到程序中的数字。 Largest:迄今为止所发现的最大数字。程序清单:#include void main() int Counter, Number, Largest; printf(please input the first number:); scanf(%d, & Number); Largest=Number; for(Counter=2;CounterLargest) Largest=Number; else Largest=Larges

29、t; printf(the largest number is %d, Largest); getch();程序编写注意事项:1. 首先要定义好所需要的三个变量,即Counter:能够记数到10的记数器,Number:当前输入到程序中的数字和Largest:迄今为止所发现的最大数字;counter在循环时用来计数,number存储从键盘输入的数字,largest就是用来存储比较后最大的那个数字;2.此程序涉及到循环输出和比较大小,所以就要用for或者while语句来是想循环,且在循环是要注意没输入一个数时(第一个数除外)都要和之前输入的数进行比较,比较时就要用到if条件语句。3. 要注意pri

30、ntf语句的位置,是在循环输入和比较之后再进行输出。(3)请开发一个程序来输入每油箱的行程里程和所用的汽油。能够计算并显示出对于每个油箱每加仑汽油的行驶里程。处理输入信息后,计算并显示所有油箱每加仑汽油的行驶里程。以下是一个事例的输入/输出:程序清单:#include void main() float Gallon,Miles; printf(Enter the gallons used :) ; scanf(%f, &Gallon); printf(Enter the miles driven:); scanf(%f, &Miles); printf(The Miles/Gallon fo

31、r this tank was %f,Miles/Gallon) ; getch();程序编写注意事项:1. 在定义 Gallon和Miles这两个变量时要定义成实数浮点型;2. 在用printf显示输出信息后就要用scanf函数输入相对应的函数;用scanf输入数字时要注意不要掉了地址控制符。(4)编写一个程序读入一个5位数,并判断该整数是否是回文。(回文指顺读和倒读都一样的数字和文字语句,例:12321,55555。)提示:使用除法运算符和求模运算符把该数分解成单位个数。程序清单: #include main() int b1,b2,b3,b4,b5;long int x;scanf( %

32、ld ,&x);b5=(x/10000)%10;b4=(x/1000)%10;b3=(x/100)%10;b2=(x/10)%10;b1= x %10;if(b1=b5,b2=b4) printf(the number %ld is huiwen,x);else printf(the numbe %ld is not huiwen, x) ;程序编写注意事项:利用整除和取模运算计算出每一位上的数字,然后将第一项和第五项,第二项和第四项比较,显示其结果。实验四 循环结构程序设计(二)(验证性实验 2学时)(一)、实验目的1熟练掌握循环语句。2较灵活地运用三种不同循环语句实现循环程序设计。3熟练掌

33、握break语句、continue语句及循环的嵌套使用。(二)、实验内容1 写出下列程序的运行结果(1)#include void main() int i,j,k,x=0;for(i=0;i2;i+) x+;for(j=0;j3;j+) if(j%2) continue; x+;x+;k=i+j;printf(k=%d,x=%dn , k , x);运行结果: k=5,x=8程序分析:1. 此程序是关于for循环嵌套的应用,外循环for(i=0;i2;i+)是指给x赋值为0,循环一次后x=x+1,直到x等于2时停止,是将里面的内容进行循环。2. 内循环for(j=0;j3;j+)是给j赋初始

34、值值为0,直到j等于3时停止循环,循环体为if(j%2) continue; x+;3. 在内循环中的if条件语句,是指当j对2求模运算余数为0时继续进行循环,否则就退出循环,4. 因为在循环结束后i=2,j=3,所以k=5,x+运行了8次,所以x=8.(2)#include void main() int x,y;for(y=1,x=1;y=10) break;if(x%2=1) x+=5; continue;x-=3; printf(“x=%d,y=%dn”,x,y); 运行结果:X=10,y=6及分析:1. 此程序也是关于for循环和if条件判断语句的应用;2. for(y=1,x=1;

35、y=50;y+)是指给x和y初始化值为1,在每次循环后加上1,直到y的值=10) break;是指当x=10时停止跳出循环,if(x%2=1) x+=5; continue;是指当x的值与2进行求模运算余数为1是进行x+=5的运算并继续,进行x-=3的运算x的变化过程为:6,3,8,5,10;4. 因为x=10时停止了循环,所以x=10,总共循环了5次,y的初始值为1,所以y最后的值为6.(3)#include void main() inti, j , sum; for(i=1;i6;i+) sum=0;for(j=1;j=4;j+)sum+=j; printf(“sum=%dn”, sum

36、); 运行结果: Sum=10分析:1. 此程序是关于for循环结构的嵌套使用;2. 外循环for(i=1;i6;i+)将i初始为1,直到i的值等于6时停止循环;3. 内循环for(j=1;j=4;j+)将j的值初始为1,直到j的值等于4时停止循环,sum+=j时指sum=sum+j;4. 虽然外循环了6次,但每次在进行内循环时都将sum的值初始为0了,所以最后结果j=10.(4) #include void main ( ) int k = 0 , m = 0 , i , j; for( i = 0 ; i 2 ; i+) for ( j = 0 ; j 3 ; j+) k+; k -= j

37、; m = i + j; printf(k=%d,m=%dn,k,m);运行结果:k=0,m=5分析:1. 此程序是关于for循环结构的嵌套使用;2. 外循环for( i = 0 ; i 2 ; i+)是指将内循环进行两次循环,内循环是指将k+;k -= j;进行三次循环;3. j循环中:k的值变化为:1,1,2,1,2,0.循环两次结果不变,所以k的值就为0,在循环结束后i和j的值分别为2和3,所以m的值为52 程序填空(1)下面程序的功能是:输出100以内同时能被3和7整除的所有整数,请填空。#include void main() int i, j; for ( i=1;_; i+ )

38、if (_) continue;printf ( %dt,i );填空:i=100;填空:i%3&i%7程序分析: 1)、此程序是关于for循环结构和if判断的应用; 2)、在for循环中,i=1是给循环变量赋初始值为1,i=100;是循环条件,因为要计算1到100直接能被3和7整除的数,所以要条件要=100.i+是循环一次后进行自增运算; 3)、判读一个是是否同时被3和7整除,要用模运算和逻辑运算符实现,即i%3&i%7,并且当判断这个条件成立时将数输出。(2)判断m是否素数#include void main() int m,i,k; scanf(“%d”,&m); for(i=2;i=m

39、)printf(“%d是一个素数n”,m); else printf(“%d不是一个素数n”,m);填空:m%i=0并运行分析: 1)、此程序是关于for循环结构和if判断的应用; 2)、素数是只能被1和它本身整除的数,所以在进行一个数是否是素数的时候,就判断是否能被2和数本身-1整除,如果可以就不是素数,反之就是,for(i=2;im;i+) if(_m%i=0_) break;就是将一个数和2到本身减1进行模运算,为0时退出,并输出不是素数,不等于0是输出是素数。3 编写程序(1)编写一个程序,能够找出几个整数中最小的整数。假定程序读取的第一个值是余下数值的数目。程序清单: #includ

40、e void main() int i,n,low=0 ; printf(please input a number:n); scanf(%d,&n); low=n; for(i=1;i=4;i+) printf(please input a number:n); scanf(%d,&n); if(lown) low=low; else low=n; printf(the smallest number is %d,low); getch();程序编写注意事项:1、 读取多个数据时为了方便要使用循环语句;、2、 在对输入的数据进行比较时,将第一个数据赋给low、然后再将low与后面每输入一个就

41、进行比较一次,每比较一次就将较小的值赋给low,直到最后输出。(2)编写一个程序显示出如下菱形图案。可以使用printf语句来显示一个(*)和一个空格,尽量多使用循环语句(嵌套的for语句),尽量少用printf语句。程序清单:#include #define N 5void main() int i,j ; for(i=1;i=N; i+) for(j=1;j=N-i;j+) printf( ); for(j=1;j=1;i-) for(j=1;j=5-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(*); printf(n) ; getch();程序

42、编写注意事项:1. 此程序要用到fou循环的多重嵌套;2. 在显示上半部分正三角形时for循环的行数计数器是从1递增到5,每行显示的空格的个数用最大行数减去当前行数,输出的“*“号个数用公式2*N-1计算出来;3. 在显示下半部分倒三角形时for循环行数从最大行递减到1,每行空格个数用N-当前行数。*号个数还是用2*N-1计算出来,这时的*号个数是递减的。(3)输入从19941999这个范围内的年份,并使用for循环语句来生成一个简洁的日历。注意闰年的情形。程序清单: #include #include/*-控制台输入输出函数-*/#includeint IsLeapYear(int);/*-

43、判断某一年是否为闰年-*/void main() int i; int day; int year; int temp; int temp_i; long int Year_days = 0; int Year_Start = 1; int Per_Year_Days; int month_day=31,28,31,30,31,30,31,31,30,31,30,31,29; /*-一年每个月的天数-*/ printf(Please enter the year(form1991-1994): ); scanf(%d,&year); /*-从公元1年开始执行循环,因为该年的一月一号为星期一,用

44、某年的某天与这天相差的 天数与7求余数知道是星期几-*/ while(Year_Start year) /*-如果是闰年则为366天,否则就为365天-*/ if( IsLeapYear( Year_Start ) ) Per_Year_Days = 366; else Per_Year_Days = 365; /*-从公元1年到输入年份的前一年的天数的总和-*/ Year_days = Year_days + Per_Year_Days; Year_Start+; /*-tmp为从1到12,对应每年的12个月-*/ for( temp = 1; temp =12; temp+ ) switch( temp ) case 1: printf( J

温馨提示

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

评论

0/150

提交评论