技能培训专题:系统测试题5

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

系统测试题51.输入某年某月某日,判断这一天是这一年的第几天?#includestdio.hmain(){intday,month,year,sum,leap;printf(\npleaseinputyear,month,day\n);scanf(%d,%d,%d,&year,&month,&day);switch(month){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:printf(dataerror);break;}/***********SPACE***********/【?】;/***********SPACE***********/if(year%400==0||(【?】)leap=1;elseleap=0;/***********SPACE***********/if(【?】)sum++;printf(itisthe%dthday.,sum);}2.已知X、Y、Z分别表示0~9中不同的数字,编程求出使算式XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该算式。#includestdio.h#includestdlib.hmain(){intx,y,z;/***********SPACE***********/for(x=0;【?】;x++)for(y=0;y10;y++){if(y==x)continue;for(z=0;z10;z++){/***********SPACE***********/if(z==x【?】z==y)continue;/***********SPACE***********/if(1111*(x+y+z)==【?】+1110*x+z){printf(x=%d,y=%d,z=%d\n,x,y,z);/***********SPACE***********/printf(%d+%d+%d=%d\n,1111*x,1111*y,1111*z,【?】);exit(0);}}}}3.编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)相差的天数。#includestdio.h#includestdlib.hintf(inty){return(y%4==0&&y%100!=0||y%400==0);}intmday(inty,intm){return(31-((m==4)+(m==6)+(m==9)+(m==11))-(3-f(y))*(m==2));}intyday(inty,intm,intd){return(d+31*((m1)+(m3)+(m5)+(m7)+(m8)+(m10))+30*((m4)+(m6)+(m9)+(m11))+(28+f(y))*(m2));}intyend(inty,intm,intd){return(365+f(y)-yday(y,m,d));}main(){inty1,m1,d1,y2,m2,d2,n,i;printf(y1,m1,d1=);scanf(%d,%d,%d,&y1,&m1,&d1);/***********SPACE***********/if(m11||m112||d11||d1【?】)exit(0);printf(y2,m2,d2=);scanf(%d,%d,%d,&y2,&m2,&d2);/***********SPACE***********/if(m21||m212||d21||d2【?】)exit(0);if(y1y2||y1==y2&&m1m2||y1==y2&&m1==m2&&d1d2){n=y1;y1=y2;y2=n;n=m1;m1=m2;m2=n;n=d1;d1=d2;d2=n;}else{/***********SPACE***********/n=yend(y1,m1,d1)+【?】;/***********SPACE***********/for(i=【?】;iy2;i++)n+=365+f(i);}printf(%d.%d.%d---%d.%d.%d:n=%d\n,y1,m1,d1,y2,m2,d2,n);}4.用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根,其中X^n代表X的n次方。#includestdio.h#includemath.hmain(){floatx0,x1,x2,fx0,fx1,fx2;do{printf(Enterx1&x2:);scanf(%f,%f,&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;/***********SPACE***********/}while(fx1*fx2【?】);do{x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;/***********SPACE***********/if(fx0*fx1【?】){x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}}/***********SPACE***********/while(【?】=1e-5);printf(x=%6.2f\n,x0);}5.不用第三个变量,实现两个数的对调操作。#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);/***********SPACE***********/a=【?】;/***********SPACE***********/b=【?】;/***********SPACE***********/a=【?】;printf(a=%d,b=%d\n,a,b);}6.计算圆周率的近似值。#includestdio.h#includemath.hmain(){ints,n;/***********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*=【?】;printf(pi=%.6f\n,pi);}7.计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。例如,从键盘给n输入30后,输出为:S=1.226323。#includestdio.hmain(){inti,n;/***********SPACE***********/float【?】;printf(请输入n:);/***********SPACE***********/【?】(%d,&n);sum=0.0;/***********SPACE***********/for(i=1;i=n;【?】){if(i%3==0||i%7==0)/***********SPACE***********/sum+=【?】;}/***********SPACE***********/printf(s=%f\n,【?】);}8.将字母转换成密码,转换规则是将当前字母变成其后的第四个字母,但W变成A、X变成B、Y变成C、Z变成D。小写字母的转换规则同样。#includestdio.hmain(){charc;/***********SPACE***********/while((c=【?】)!='\n'){/***********SPACE***********/if((c='a'&&c='z')||(c='A'&&c='Z'))【?】;/***********SPACE***********/if((c'Z'【?】c='Z'+4)||c'z')c-=26;printf(%c,c);}}9.百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?#includestdio.hmain(){intcocks,hens,chicks;cocks=0;while(cocks=19){/***********SPACE***********/【?】=0;/***********SPACE***********/while(hens=【?】){chicks=100-cocks-hens;if(5*cocks+3*hens+chicks/3==100)printf(%d,%d,%d\n,cocks,hens,chicks);/***********SPACE***********/【?】;}/***********SPACE***********/【?】;}}10.三角形的面积为:area=sqrt(s*(s-a)*(s-b)*(s-c)).其中,s=(a+b+c)/2,a、b、c为三角形三条边的长。定义两个带参数的宏,一个用来求s,另一个用来求area。编写程序,在程序中用带参数的宏求面积area。#includestdio.h#includemath.h/***********SPACE***********/#【?】S(x,y,z)(x+y+z)/2#defineAREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z))main(){doublearea;floata,b,c,s;printf(a,b,c=);/***********SPACE***********/scanf(%f,%f,%f,&a,【?】,&c);if(a+bc&&b+ca&&c+ab){/***********SPACE***********/s=【?】;/***********SPACE***********/area=【?】;printf(area=%f\n,area);}}11.已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。编程打印此数,直到某项的值超过200为止。#includestdio.hmain(){inti,f1=0,f2=1;/***********SPACE***********/for(【?】;;i++){printf(5%d,f1);/***********SPACE***********/if(f1【?】)break;printf(5%d,f2);if(f2200)break;if(i%2==0)printf(\n);f1+=f2;/***********SPACE***********/f2+=【?】;}printf(\n);}12.以下程序的功能是:输出a、b、c三个变量中的最小值。#includestdio.hmain(){inta,b,c,t1,t2;/***********SPACE***********/scanf(%d%d%d,&a,&b,【?】);t1=ab?a:b;/***********SPACE***********/t2=ct1?【?】;printf(%d\n,t2);}13.以下程序的功能是:输出a、b、c三个变量中的最小值。#includestdio.hmain(){inta,b,c,t1,t2;/***********SPACE***********/sca

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功