C语言必背经典程序.pdfVIP

  • 0
  • 0
  • 约1.25万字
  • 约 24页
  • 2026-02-03 发布于河北
  • 举报

【程序4】

题已:输入某年某月某日,判断这一天是这一年第几天?

1.程序分析:以3月5日为例,应该把前两个月加起来,然后再加上5天即本年第几天,特殊

情况,闰年且输入月份大于3时需考虑多加一天。

2.程序源代码:

main(){

intday,month,year,sum,leap;

printf(\npleaseinputyear,month.day\n);

scanf(%d.%d.%d.ycar,inon(h.day);

switch(month)/*计算某月以前月份总天数刃

{case1:suni=O;break;

case2:sum=31;break;

case3:sum=59;break;

case4:sum=90;break;

case5:sum=l20;break;

case6:sum=151;break;

case7:sum=181:break;

case8:sum=2I2;break;

case9:sum=243;break;

case10:sum=273;break;

case1l:sum=304;break:

case12:sum=334;break;

dcfault:printf(dataerror);break;}

sum=sum+day;/*再加上某天天数*/

if(year%400==0(year%4==0year%100!=0))/*判断是不是闰年*/

lcap=1;

else

lcap=0;

if(leap==lmonih2)/*假如是闰年且月份大于2,总天数应该加一天”/

sum++;

printf(Itis(he%dthday.,sum);)

【程序5】

题上输入三个整数x,y.z,请把这三个数由小到大输出。

1.程序分析:我们想方法把最小数放到x上,将x与y进行比较,假如xy则将x与y值进行交换,

然后再用x与z进行比较,假如xz则将x与z值进行交换,这么能使x最小。

2.程序源代码:

main(){

intx,y,z,t;

scanf(%d%d%d,x,y,z);

if(xy)

{t=x;x=y;y=t;}/*交换x.y值*/

if(xz)

{l=z;z=x;x=t;}/*交换x,z值*/

if(yz)

{t=y;y=z;z=t;}/*交换z,y值*/

printf(smalltobig:%d%d%d\n,x,y^);}

【程序8】

题1输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

2.程序源代码:

#includcstdio.h

main()

{

inti,j,resul(;

printf(\n);

for(i=l;i10;i++)

{for(j=l;jlO;j++)

(

result=i*j;

printf(%d*%d=%-3d,i,j,result);/*-3d表示左对齐,占3位*/

printf(\n);/*每一行后换行*/

则表明此数不是素数,反之是素数。

2.程序源代码:

#includemath.h

main()

(

in(m.i,k.h=O,leap=l;

printf(\n);

for(m=101;m=200;m++)

{k=sqr((m+1);

for:i=2;i=k;i++)

if(in%i==O)

{leap=O;break:}

,

if(leap){printf(%-4d,m);h++;

if(h%10==0)

primf(\n);

)

Icap=1;

文档评论(0)

1亿VIP精品文档

相关文档