"结构体”课后作业题,谭浩强《c语言》第三版

Python010

"结构体”课后作业题,谭浩强《c语言》第三版,第1张

#include "stdio.h"

void main()

{

int tage,day[12],i,sum=0

struct NewDate

{

int year,month,day

}date

date.year=2009date.month=2date.day=6

if(date.year%100==0)

{

if(date.year%400==0)

tage=1

else tage=0

}

else

{

if(date.year%4==0) tage=1else tage=0

}

day[0]=31//January

day[1]=28//Februayr

day[2]=31//March

day[3]=30//April

day[4]=31//May

day[5]=30//June

day[6]=31//July

day[7]=31//August

day[8]=30//September

day[9]=31//October

day[10]=30//November

day[11]=31//December

for(i=1i<date.monthi++)

sum=sum+day[i-1]//前几个月的天数加上当月的天数才是对的

sum+=date.day

if(tage==1&&date.month>2) sum++//tage==1 当过了二月以后 是闰年才加上那个一

printf("%d-%d-%d is %d in %d\n",date.year,date.month,date.day,sum,date.year)

}

不是C语言只有三种结构,是所有的语言都只存在这三种结构!

顺序结构:代码按照编码顺序执行。

选择结构,双称分支结构,细分有单分支,双分支与多分支。单分支只有if结构,还用来做判断。双分支一般指的是if...else结构。多分支一般指的是switch结构,当然多重的if...else也可以实现,同时还是类惟逻辑尺等等编程思想。

循环结构:就是特定条件下要重复执行的语句。一般有步长型for,当型while,直到型do...while(部分语言中是until),以及枚举型foreach(部分语言中是for...in几种。还有几中特殊的直撞调用或间接调用两种形式实现的循环,在部分语言中将其单发为递归结构,但大多数时间由于是函数或方法的调用实现的,不归语言结构范畴,所以虽有递归结构,多数语言中还只认为存在三种基础结构,而递归属于调用层面的结构。所以在死循环时,除了检查我们的循环结构之外,还要特别注意是不是存在的递归调用上的缺少递归条件。