/*
循环:即重复,当某些语句要出现执行多次时,就会把这 些语句放到循环的大括号内。循环体:是循环大括号内的所有语句的集合。循环的次数,往往会定义一个整型变量来控制,叫循环变量。循环变量的三个必要表达式:
1.初值,是赋值语句,如:x=1 2.终限,是关系或关系加逻辑表达式,如:x<=100 3.步长,是一个复合赋值语句(会改循环变量的值),如:x++,或x+=2循环变量的三个表达式应该怎么组合: 1.当初值小于终限,那么,关系表达式应该用小于或 小于等于,步长用+=或++ 2.当初值大于终限,那么,关系表达式应该用大于或 大于等于,步长用-=或--当循环终限为假时,结束循环,循环变量的值为"比终限大"或"比终限小"for循环变量的三个表达式和循环体的执行次序:
1.初值 2.终限(为真时执行循环体,为假时结束循环(即循环右大括号之后)) 3.循环体 4.步长(之后还会回到终限,判断真假)*/#include "stdio.h"void main(){ int ds[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int year,month,day,days=0,maxdays=0; int n; int i; int s; printf("请输入年份数:"); do{ n=0; n=scanf("%d",&year); if(n!=1||year<1900) { printf("年份输入有误,请重输:"); fflush(stdin); } }while(n!=1||year<1900); if(year%4==0&&year%100!=0||year%400==0) ds[1]=29; printf("请输入月份:"); do{ n=0; n=scanf("%d",&month); if(n!=1||month<1||month>12) { printf("月份输入有误,请重输:"); fflush(stdin); } }while(n!=1||month<1||month>12); printf("请输入号:"); do{ n=0; n=scanf("%d",&day); if(n!=1||day<1||day>ds[month-1]) { printf("号数输入有误,请重输:"); fflush(stdin); } }while(n!=1||day<1||day>ds[month-1]); for(i=0;i<=month-2;i++) { days+=ds[i]; } days+=day; if(year%4==0&&year%100!=0||year%400==0) s=366; else s=365; printf("%d/%d/%d是本年的第%d天\n",year,month,day,days); printf("离元旦还有%d天\n",s-days);}