z8733537 发表于 2018-9-24 23:20:51

小甲鱼的课后作业

while (day1<=days)

具体是什么意思?

U201010009 发表于 2018-9-24 23:32:28

你给的代码不全,以下是猜测:
days应该表示month1月份有多少天
day1应该表示你要计算的日期的号码数
比如:5月6号,day1值为6,days值为31

claws0n 发表于 2018-9-24 23:34:03

……要截图,就把全部代码截出来,截不完的话就帖出来,谁知道你的变量是什么数据类型?

days 是一个数组,days,从数组里选出一个值,然后跟 day1 去比较。
如果 day1 <= 这个值,就一直循环,直到 day1 > 这个值,就结束。这个值就是每个月里有几天。

啊涂涂 发表于 2018-9-25 07:54:23

第三个while是用来计算具体活的天数,首先day1是用户输入的自己出生当天的日期,就拿我自己的 27 号举例子。

然后进入 while(day1 <= days),进行判断。days【】是一个数组,在程序开始之前已经编好了,里面存放了12个月,每个月的天数。days后面括号里面的

month1 - 1 的意思就是,那用户输入的月份去减一,为什么要减一呢?是因为计算机是从 0 开始计数的,0~11已经是12个月了,最大数字是11,假如用户输入一个12,那不就越界了!

再回到我们刚才,还拿我的日期来举例子。我是 1 月 27 号出生的,现在代入这个while条件:while (27 <= days) 1 - 1等于0,days【0】,数组的下标访问法

访问 int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} 这个数组的第一个数据,结果是 31 然后条件成立,进入while循环,每循环一次,代表用户活的天数的

计数器就 + 1,同时day1也 + 1,经过第一轮循环后,我的 27 就变成 28了,然后再循环一次,直到和这个当月的天数相等为止。这样一来就计算出当月“活”的天数
页: [1]
查看完整版本: 小甲鱼的课后作业