还剩6页未读,继续阅读
文本内容:
系统测试题
51.输入某年某月某日,判断这一天是这一年的第几天?#includestdio.hmain{intdaymonthyearsumleap;printf\npleaseinputyearmonthday\n;scanf%d%d%dyearmonthday;switchmonth{case1:sum=0;break;case2:sum=31;break;case3:sum=59;break;/***********SPACE***********/case4:【】;break;case5:sum=120;break;case6:sum=151;break;case7:sum=181;break;case8:sum=212;break;case9:sum=243;break;case10:sum=273;break;case11:sum=304;break;case12:sum=334;break;default:printfdataerror;break;}/***********SPACE***********/【】;/***********SPACE***********/ifyear%400==0||【】leap=1;elseleap=0;/***********SPACE***********/if【】sum++;printfitisthe%dthday.sum;}
2.已知X、Y、Z分别表示0~9中不同的数字,编程求出使算式XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该算式#includestdio.h#includestdlib.hmain{intxyz;/***********SPACE***********/forx=0;【】;x++fory=0;y10;y++{ify==xcontinue;forz=0;z10;z++{/***********SPACE***********/ifz==x【】z==ycontinue;/***********SPACE***********/if1111*x+y+z==【】+1110*x+z{printfx=%dy=%dz=%d\nxyz;/***********SPACE***********/printf%d+%d+%d=%d\n1111*x1111*y1111*z【】;exit0;}}}}
3.编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)相差的天数#includestdio.h#includestdlib.hintfinty{returny%4==0y%100!=0||y%400==0;}intmdayintyintm{return31-m==4+m==6+m==9+m==11-3-fy*m==2;}intydayintyintmintd{returnd+31*m1+m3+m5+m7+m8+m10+30*m4+m6+m9+m11+28+fy*m2;}intyendintyintmintd{return365+fy-ydayymd;}main{inty1m1d1y2m2d2ni;printfy1m1d1=;scanf%d%d%dy1m1d1;/***********SPACE***********/ifm11||m112||d11||d1【】exit0;printfy2m2d2=;scanf%d%d%dy2m2d2;/***********SPACE***********/ifm21||m212||d21||d2【】exit0;ify1y2||y1==y2m1m2||y1==y2m1==m2d1d2{n=y1;y1=y2;y2=n;n=m1;m1=m2;m2=n;n=d1;d1=d2;d2=n;}else{/***********SPACE***********/n=yendy1m1d1+【】;/***********SPACE***********/fori=【】;iy2;i++n+=365+fi;}printf%d.%d.%d---%d.%d.%d:n=%d\ny1m1d1y2m2d2n;}
4.用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根其中X^n代表X的n次方#includestdio.h#includemath.hmain{floatx0x1x2fx0fx1fx2;do{printfEnterx1x2:;scanf%f%fx1x2;fx1=x1*2*x1-4*x1+3-6;fx2=x2*2*x2-4*x2+3-6;/***********SPACE***********/}whilefx1*fx2【】;do{x0=x1+x2/2;fx0=x0*2*x0-4*x0+3-6;/***********SPACE***********/iffx0*fx1【】{x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}}/***********SPACE***********/while【】=1e-5;printfx=%
6.2f\nx0;}
5.不用第三个变量,实现两个数的对调操作#includestdio.hmain{intab;scanf%d%dab;printfa=%db=%d\nab;/***********SPACE***********/a=【】;/***********SPACE***********/b=【】;/***********SPACE***********/a=【】;printfa=%db=%d\nab;}
6.计算圆周率的近似值#includestdio.h#includemath.hmain{intsn;/***********SPACE***********/double【】t;t=1;pi=0;n=1;s=1;/***********SPACE***********/while【】=2e-6{pi+=t;n+=2;s=-s;t=s/n;}/***********SPACE***********/pi*=【】;printfpi=%.6f\npi;}
7.计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和例如,从键盘给n输入30后,输出为S=
1.226323#includestdio.hmain{intin;/***********SPACE***********/float【】;printf请输入n:;/***********SPACE***********/【】%dn;sum=
0.0;/***********SPACE***********/fori=1;i=n;【】{ifi%3==0||i%7==0/***********SPACE***********/sum+=【】;}/***********SPACE***********/printfs=%f\n【】;}
8.将字母转换成密码,转换规则是将当前字母变成其后的第四个字母,但W变成A、X变成B、Y变成C、Z变成D小写字母的转换规则同样#includestdio.hmain{charc;/***********SPACE***********/whilec=【】!=\n{/***********SPACE***********/ifc=ac=z||c=Ac=Z【】;/***********SPACE***********/ifcZ【】c=Z+4||czc-=26;printf%cc;}}
9.百鸡问题100元买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?#includestdio.hmain{intcockshenschicks;cocks=0;whilecocks=19{/***********SPACE***********/【】=0;/***********SPACE***********/whilehens=【】{chicks=100-cocks-hens;if5*cocks+3*hens+chicks/3==100printf%d%d%d\ncockshenschicks;/***********SPACE***********/【】;}/***********SPACE***********/【】;}}
10.三角形的面积为area=sqrts*s-a*s-b*s-c.其中,s=a+b+c/2a、b、c为三角形三条边的长定义两个带参数的宏,一个用来求s,另一个用来求area编写程序,在程序中用带参数的宏求面积area#includestdio.h#includemath.h/***********SPACE***********/#【】Sxyzx+y+z/2#defineAREAsxyzsqrts*s-x*s-y*s-zmain{doublearea;floatabcs;printfabc=;/***********SPACE***********/scanf%f%f%fa【】c;ifa+bcb+cac+ab{/***********SPACE***********/s=【】;/***********SPACE***********/area=【】;printfarea=%f\narea;}}
11.已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和编程打印此数,直到某项的值超过200为止#includestdio.hmain{intif1=0f2=1;/***********SPACE***********/for【】;;i++{printf5%df1;/***********SPACE***********/iff1【】break;printf5%df2;iff2200break;ifi%2==0printf\n;f1+=f2;/***********SPACE***********/f2+=【】;}printf\n;}
12.以下程序的功能是:输出a、b、c三个变量中的最小值#includestdio.hmain{intabct1t2;/***********SPACE***********/scanf%d%d%dab【】;t1=aba:b;/***********SPACE***********/t2=ct1【】;printf%d\nt2;}
13.以下程序的功能是:输出a、b、c三个变量中的最小值#includestdio.hmain{intabct1t2;/***********SPACE***********/scanf%d%d%dab【】;t1=aba:b;/***********SPACE***********/t2=ct1【】;printf%d\nt2;}
14.以下程序的功能如图1#includestdio.h/***********SPACE***********/【】main{doublexf;scanf%fx;/***********SPACE***********/ifx0【】;/***********SPACE***********/elseif【】f=2*x+1;elsef=sinx+5;/***********SPACE***********/printfx=%fy=%f\n【】;}。