C语言程序设计—北京理工大学MOOC提交作业(1)

折扣 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 main() {

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 int main() {

联系客服:779662525#qq.com(#替换为@)