折扣 0.8 折扣时间 2014年11月12日 星期三 10:40 关闭时间 2014年11月19日 星期三 10:40 允许迟交 否 给出任意一个年月日(年>1900),现在我们不能只是直接计算,要先判断给出的日期是否合法,对于非法的日期要给出错误提示信息,合法的日期要再计算是星期几。 输入: 年 月 日 输出:
0~6。
星期日用 0 表示,星期一用 1 表示,星期二用 2 表示......星期六用 6 表示。 假设年份大于1900。先想一想:我们现在只会使用 if 语句,该如何建立数学模型?
测试输入 期待的输出 时间限制测试用例 1 1. 2013 3 11? 1. 1? 以文本方式显示 以文本方式显示 1秒 内存限制64M 额外进程0 测试用例 2 以文本方式显示 1. 2013 13 15? 以文本方式显示 1. month is error.? 1秒 64M 0 测试用例 3 以文本方式显示 1. 2013 3 32? 以文本方式显示 1. day is error.? 1秒 64M 0 Code:
#include
int year, month, day, n, week, total; scanf(\ if(year <= 1900){
printf(\return 0;
}
if(month >= 13 || month < 1){ }
if(day < 0){ }
switch (month){
case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(day > 31)
{printf(\ break; case 4: case 6: case 9: case 11: if(day > 30)
{printf(\ break;
case 2:if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
if(day > 29) {printf(\ } else
printf(\return 0;
printf(\return 0;
{
if(day > 28) {printf(\ } break;
}
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{ } else { }
week = (week + total + day - 1) % 7;
week = (year + year / 4 + year / 400 - year / 100) % 7; for(n = 0; n < month; n++) { }
if(n == 0) total = 0;
if(n == 1 || n == 3 || n == 5 || n == 7 || n == 8 || n == 10 ) total += 31; if(n == 2) total += 28;
if(n == 4 || n == 6 || n == 9 || n == 11) total += 30; week = (year + year / 4 + year / 400 - year / 100 - 1) % 7; for(n = 0;n < month; n++) { }
if(n == 0) total = 0;
if(n == 1 || n == 3 || n == 5 || n == 7 || n == 8 || n == 10 ) total += 31; if(n == 2) total += 29;
if(n == 4 || n == 6 || n == 9 || n == 11) total += 30;
printf(\ return 0; }
4.【中学】求最后3位数值(选做)
成绩 折扣 0 开启时间 2014年10月28日 星期二 10:45 0.8 折扣时间 2014年11月12日 星期三 10:45 关闭时间 2014年11月19日 星期三 10:45 允许迟交 否 小明在中学会求一个数的 n 次方了,但计算机还不会,请你来编写一个程序吧。由于计算机比较“笨”,所以我们编写程序的功能不用太强,只要能算出 a 的 n 次方的最后 3 位数就可以了。 输入:
a 和 n 的值。假设 a<=150 。 输出:
求 a 的 n 次方的最后 3 位数。
提示:再想一想,你的方法对吗?你用的是什么数据类型?
测试输入 期待的输出 时间限制 测试用例 1 1. 10 0? 1. The last 3 numbers is 1.? 以文本方式显示 以文本方式显示 1秒 内存限制 64M 0 额外进程 测试用例 2 以文本方式显示 1. 2 8? 以文本方式显示 1. The last 3 numbers is 256.? 1秒 64M 0 测试用例 3 以文本方式显示 1. 100 10? 以文本方式显示 1. The last 3 numbers is 000.? 1秒 64M 0 Code: #include