简单暴力(计算今年第几天)

#include<stdio.h>
int main(){
	int a[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};
                                            //定义一个二维数组,数据具体解释看下文
    int x,y,z,sum=0;                        //定义x为年,y为月,z为日,sum为天的总数
	scanf("%d%d%d",&x,&y,&z);               //输入年月日
	if(((x%4==0)&&(x%100!=0))||(x%400==0))  //判断是否为闰年
    {
		int i=1,j;
		for(j=0;j<y-1;j++){                 //for为循环
			sum+=a[i][j];                   //与sum=sum+a[i][j]
			}
	}else                                   //除了闰年之外的年份
    {
		int i=0,j;
		for(j=0;j<y-1;j++){
		    sum+=a[i][j]; 
		}
	}
	sum+=z;                                 //加上z的天数
	printf("%d\n",sum);                     //输入天的总数
	return 0;
} 

 数组

         定义一个数组,就像是买了一个容器 ,数组存放的是数字,容器里存放的是某些东西。如int           a[100],就是能在它里面存放100个数字。它初始的样子是这样

a[0]a[1]a[2]a[3]a[4]...a[99]
00000

0

        可以看到它是从0开始到99个单位。如果你在其中按顺序给它赋了值,如a[0]=1;                            a[1]=2;a[2]=3...a[99]=100,则就成

a[0]a[1]a[2]a[3]a[4]...a[99]
1

2345

100

         而我代码中所用的是二维数组,他是这样定义的a[2][12]且我后面直接赋值了数字,所以它里           面是这样子的

a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a[10]a[11]
a[0]31  2831303130313130313031
a[1]312931303130313130313031

        所以当if成立时,令i=1,则sum相加时便加的是29;

for循环

       for(初始动作;循环继续条件;循环每一轮要做的动作)

       所以当令j小于月数y-1时,它便可在重新走一遍这个流程,使sum加上这个月的天数

等到sum走出循环,还要加y这个月所输入的天数z,然后就可以输出了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值