#include<stdlib.h>
char* month_str[]={"January","February","March","April","May","June","July","August","September","October","November","December"}
char* week[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
int IsLeapYear(int year) /*find out the year is leap year or not*/
{
if((year%4==0&&year%100!=0)||(year%400==0))
return 1
else
return 0
}
int month_day(int year,int month)
{
int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31}
if(IsLeapYear(year)&&month==2)
return 29
else
return(mon_day[month-1])
}
int DaySearch(int year,int month,int day) /*search what day this day is*/
{
int c=0
float s
int m
for(m=1m<monthm++)
c=c+month_day(year,m)
c=c+day
s=year-1+(float)(year-1)/4+(float)(year-1)/100+(float)(year-1)/400-40+c
return ((int)s%7)
}
int PrintAllYear(int year)/*print the all year*/
{
int temp
int i,j
printf("\n\n%d Calander\n",year)
for(i=1i<=12i++)
{
printf("\n\n%s(%d)\n",month_str[i-1],i)
printf("0 1 2 3 4 5 6 \n")
printf("S M T W T F S \n\n")
temp=DaySearch(year,i,1)
for(j=1j<=month_day(year,i)+tempj++)
{
if(j-temp<=0)
printf(" ")
else if(j-temp<10)
printf("%d ",j-temp)
else
printf("%d",j-temp)
if(j%7==0)
printf("\n")
}
}
return 0
}
int main()
{
int option,da
char ch
int year,month,day
printf("Copyright @ 2005 TianQian All rights reserved!:):):)")
printf("\n\nWelcome to use the WanNianLi system!\n")
while(1)
{
printf("\nPlease select the service you need:\n")
printf("\n1 Search what day the day is")
printf("\n2 Search whether the year is leap year or not")
printf("\n3 Print the calander of the whole year")
printf("\n4 Exit\n")
scanf("%d",&option)
switch(option)
{
case 1:
while(1)
{
printf("\nPlease input the year,month and day(XXXX,XX,XX):")
scanf("%d,%d,%d,%c",&year,&month,&day)
da=DaySearch(year,month,day)
printf("\n%d-%d-%d is %s,do you want to continue?(Y/N)",year,month,day,week[da])
fflush(stdin)
scanf("%c",&ch)
if(ch=='N'||ch=='n')
break
}
break
case 2:
while(1)
{
printf("\nPlease input the year which needs searched?(XXXX)")
scanf("%d",&year)
if(IsLeapYear(year))
printf("\n%d is Leap year,do you want to continue?(Y/N)",year)
else
printf("\n%d is not Leap year,do you want to continue(Y/N)?",year)
fflush(stdin)
scanf("%c",&ch)
if(ch=='N'||ch=='n')
break
}
break
case 3:
while(1)
{
printf("\nPlease input the year which needs printed(XXXX)")
scanf("%d",&year)
PrintAllYear(year)
printf("\nDo you want to continue to print(Y/N)?")
fflush(stdin)
scanf("%c",&ch)
if(ch=='N'||ch=='n')
break
}
break
case 4:
fflush(stdin)
printf("Are you sure?(Y/N)")
scanf("%c",&ch)
if(ch=='Y'||ch=='y')
exit(0)
break
default:
printf("\nError:Sorry,there is no this service now!\n")
break
}
}
return 0
}
2.经过上一个学期对《C程序设计》的学习,我们学习了理论知识,了解了C语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。
3.通过对c语言万年历的设计进一步的巩固了用c语言编写程序,并且有利于更好的掌握c语言!
4. 在万年历的编写过程中也体会到了做事情一顶要细心、认真。更加知道了要掌握好基础知识。还有体会到了成功的感觉!在万年历的设计过程中更加体会到了团队合作的重要性,“一个诸葛亮比不上三个臭皮匠。”知道了只有团队合作才会更好的完成设计!也体会到以后在工作中团队合作的必要性和重要性!
5. 通过本项课程设计也培养了我独立思考、 综合运用所学有关相应知识的能力,掌握 工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!
6. 由于C语言是近年在国内外得到迅速推广应用的一种语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。通过这次的c语言程序设计更加了解了c语言的好处和其可用性!
7. 在这次课程设计中也知道了自己的动手能力不强有待进一部的提高!在设计过程中不能够把书本上的知识与实践相结合,这也就增加了设计不好该程序的想法!在设计过程中的一次次设计错误增加了我放弃的想法!不过经过大家的努力终于完成了课程设计!完成该程序后想起自己以前的每一次对自己失去信心,就觉得并不是在知识掌握上打败了,而是自己对自己缺乏信心!只要自己对自己不失去信心相信就可以完成那些以前认为完成不了的事情!也让我懂得了要想成功首先就必须有很强的自信心!懂得了自己以后要在做任何事情时都要自信!当自己都不相信自己能够成功时还可能会获得成功吗?
8. 在C语言程序设计的过程中也知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,掌握了自己以前没有学好的知识,虽然一时可以掌握完以前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以伏于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的!都是要更好的掌握该门知识,提高自己的自身的修养,提高自己的能力!为以后的工作打下良好的知识基础和技能基础!
九、参考文献
⒈谭浩强编著.C程序设计第二版[M].北京:清华大学出版社,1999
⒉陈朔鹰,陈英编著.C语言趣味程序百例精解[M].北京:北京理工大学出版社,1994
⒊电脑知识与技术学术交流版[J]2005.2 (备注:来自网络资源)
⒋Herbert Schildit著. 戴健鹏译. C语言大全 (第二版)[M].北京:电子工业出版社,1994
⒌谭浩强,张基温,唐永炎编著. C语言程序设计教程.[M]北京: 高等教育出版社,1992
⒍秦友淑,曹化工编著. C语言程序设计教程. [M]武汉:华中理工大学出版社,1996
⒎曹衍龙,林瑞仲,徐慧 编著.C语言实例解析精粹 [M]北京:人民邮电出版社,2005.3
⒏黄明等编著.21世纪进阶辅导C语言程序设计. [M]大连理工大学出版
转移语句程序中的语句通常总是按顺序方向, 或按语句功能所定义的方向执行的。如果需要改变程序的正常流向, 可以使用本小节介绍的转移语句。在C语言中提供了4种转移语句:
goto,break, Continue和return。
其中的return语句只能出现在被调函数中, 用于返回主调函数,我们将在函数一章中具体介绍。 本小节介绍前三种转移语句。 来源:www.examda.com
1.goto语句
goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的
前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。
如: label: i++
loop: while(x<7)
C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。
goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。 来源:www.examda.com
统计从键盘输入一行字符的个数。
#inClude"stdio.h"
void main(){
int n=0
printf("input a string\n")
loop: if(getChar()!=’\n’)
{ n++
goto loop
}
printf("%d",n)
}
本例用if语句和goto语句构成循环结构。当输入字符不为’\n’时即执行n++进行计数,然后转移至if语句循环执行。直至输入字符为’\n’才停止循环。
break语句
break语句只能用在switCh 语句或循环语句中, 其作用是跳出switCh语句或跳出本层循环,转去执行后面的程序。由于break语句的转移方向是明确的,所以不需要语句标号与之配合。break语句的一般形式为: break上面例题中分别在switCh语句和for语句中使用了break 语句作为跳转。使用break语句可以使循环语句有多个出口,在一些场合下使编程更加灵活、方便。
Continue语句
Continue语句只能用在循环体中,其一般格式是:
Continue
其语义是:结束本次循环,即不再执行循环体中Continue 语句之后的语句,转入下一次循环条件的判断与执行。应注意的是, 本语句只结束本层本次的循环,并不跳出循环。
void main(){
int n
for(n=7n<=100n++)
{
if (n%7!=0)
Continue
printf("%d ",n)
}
}
输出100以内能被7整除的数。
int n
for(n=7n<=100n++)
{
if (n%7!=0)
Continue
printf("%d ",n)
}
C语言程序设计
链接:https://pan.baidu.com/s/1lz9auia1FNkY8RTHW3g1Zg
提取码:8uar复制这段内容后打开百度网盘手机APP, *** 作更方便哦!若资源有问题欢迎追问~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)