博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
42.利用数组_计算天数
阅读量:5265 次
发布时间:2019-06-14

本文共 1290 字,大约阅读时间需要 4 分钟。

/*

循环:即重复,当某些语句要出现执行多次时,就会把这
些语句放到循环的大括号内。
循环体:是循环大括号内的所有语句的集合。
循环的次数,往往会定义一个整型变量来控制,叫循环变量。

循环变量的三个必要表达式:

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);
}

转载于:https://www.cnblogs.com/wyj1212/p/9006689.html

你可能感兴趣的文章
多线程系列(4)使用多线程的安全问题
查看>>
C# 你可能没这样用过(逗逼方式) return
查看>>
387. First Unique Character in a String
查看>>
JSP、Servlet乱码终极解决方案
查看>>
旅途上看的电影和观后感
查看>>
qt实现类似QQ伸缩窗口--鼠标事件应用
查看>>
Ztree异步树加载
查看>>
复杂问题的简单抽象:魔兽世界中的兔子们
查看>>
UVA 10529-Dumb Bones(概率dp)
查看>>
关于IE和火狐,谷歌,Safari对Html标签Object和Embed的支持问题
查看>>
MyEclipse DB Browser使用图文全攻略
查看>>
poj3320 Jessica's Reading Problem(尺取思路+STL)
查看>>
A - Vasya and Socks
查看>>
项目管理、设计开发、代码管理、bug管理工具介绍
查看>>
分布式计算开源框架Hadoop介绍
查看>>
安卓平台接口剖析
查看>>
linux文件编码查看与修改
查看>>
[Java] 系统环境变量配置
查看>>
坏的事情不都会带来坏的结果
查看>>
设置placeholder的样式
查看>>