内容发布更新时间 : 2024/12/23 6:50:10星期一 下面是文章的全部内容请认真阅读。
输入样例: 2013 3 11 输出样例: 1
输入样例: 2013 13 15 输出样例: month is error. 输入样例: 2013 3 32 输出样例: day is error.
源程序:
#include
int y,m,d,c,w;
scanf(\
if(y<1900) printf(\
else if(m<1 || m>12) printf(\ else if(d>31 || d<1) printf(\else { c=y/100; y=y0; if(m==1) m=13; if(m==2) m=14;
w=c/4-2*c+y+y/4+13*(m+1)/5+d-1; w=w%7;
if(w<0) w=(w+14)%7; printf(\} return 0; }
4求最后3位数值(10分)
题目内容:
小明在中学会求一个数的 n 次方了,但计算机还不会,请你来编写一个程序吧。由于计算机比较“笨”,所以我们编写程序的功能不用太强,只要能算出 a 的 n 次方的最后 3 位数就可以了。
输入格式:
a 和 n 的值。假设 a<=150 。 输出格式:
求 a 的 n 次方的最后 3 位数。
提示:再想一想,你的方法对吗?你用的是什么数据类型? 输入样例: 10 0
输出样例:
The last 3 numbers is 1.
源程序:
#include
scanf(\ if(n!=0 && a<=150) { for(i=1;i<=n;i++) p=p00*a; x=p00;
printf(\ }
else printf(\ return 0; }
第五周编程作业
1锻炼身体吧(10分)
题目内容:
沫沫,灰灰和渣渣去锻炼身体,如果对他们跑步的距离分别只计整数 a、 b、 c,由于他们身高的差距,造成了 a<=b<=c,并且渣渣跑了N米之后就再也跑不动了。但是,按照他们事先的约定: 只有当 c*c==a*a+b*b 时,他们的锻炼才有效果。
现在他们三个人想知道,如果渣渣的极限N已知,那么有多少种有锻炼效果的跑步方案(即a, b, c有多少种可能的取值)。 输入格式:
一个整数N,表示渣渣的体力极限, N <= 5000。 输出格式:
一个整数,代表他们跑步方案的个数。
Hint:对于输入N=5,有方案 a=3, b=4, c=5, 共一种。
输入样例: 5
输出样例: 1
源程序:
#include
int n,a,b,c,m; scanf(\m=0;
for(c=1;c<=n;c++)
for(a=1;a<=n;a++)
for(b=1;b<=n;b++)
if(c*c==a*a+b*b && a<=b) m++;
printf(\return 0;
2寻找特殊偶数(10分)
题目内容:
有一种特殊偶数,它每一位上的数字都两两不相同。我们现在需要找出四位数中某一区间内的这类偶数。 输入格式:
所要寻找的四位偶数的范围。每组输入有两个数字:第一个数字是最小范围;第二个数字是最大范围。如果输入遇到0,输入结束。 输出格式:
列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。 输入样例: 3000 3020 6040 6090 0 0 输出样例:
3012 3014 3016 3018 counter=4
6042 6048 6052 6054 6058 6072 6074 6078 6082 6084 counter=10 输入样例: 9 101 87 -1 0 0
输出样例: Error Error
源程序:
#include
int m,n,i,counter; int a,b,c,d; do{
scanf(\
if(m!=0 && n!=0 && (m>=1000 && m<10000) && (n>=1000 && n<10000) && m for(i=m;i<=n;i++) if(i%2==0) } else if(m==0 && n==0) return 0; else printf(\}while(1); { a=i/1000;b=i00/100;c=i0/10;d=i; if(a!=b && a!=c && a!=d && b!=c && b!=d && c!=d) } printf(\ { counter++; printf(\ return 0; } 3求最小 m 值(10分) 题目内容: 求满足下列不等式的最小 m。 1 + 2 + 3 + 4 + ...... + m ≥ n 例如:n=100,当 m =14 时,满足:1+2+3+4+...+13=91<100,而 1+2+3+4+......+14=105>100。 输入格式: n 输出格式: m 输入样例: 100 输出样例: 14 源程序: #include int n,m,s=0; scanf(\for(m=1;s s=s+m; printf(\return 0; } 第六周作业 1? ? ? ? 单选(2分)求取满足式 的n,正确的语句是 A. for(i=1,s=0;(s=s+i*i++)<=1000;n=i) B. for(i=1,s=0;(s=s+i*++i)<=1000;n=i) C. for(i=1,s=0;(s=s+i*i)<=1000;n=++i) D. for(i=1,s=0;(s=s+i*i)<=1000;n=i++) 2? ? ? ? 单选(2分)下面的for语句 1. for(x=0,y=10;(y>0)&&(x<4);x++,y-- ) A. 循环执行3次 B. 循环执行4次 C. 是无限循环 D. 循环次数不定 3? ? 单选(2分) 已知int i=1; 执行语句while (i++<4) ;后,变量i的值为 A. 5 B. 3