编程打印程序(圆弧程序怎么编程)

2023-11-21 10:12:56 数码极客 bianji01

 

C语言编写程序打印10占用的字节数

一般占用4个字节(Byte)的内存,共计32位(Bit)。如果不考虑正负数,当所有的位都为1时它的值最大,为232-1=4,294,967,295≈43亿,这是一个很大的数,实际开发中很少用到,而诸如1、99、12098等较小的数使用频反而较高。

用C语言编写程序打印任意年份的日历

看要这样不?下图:

#include

#include

#include

intqq(intx,intt)

inti=0,p,s=365,y,j,b,k=1,h=1,u=0;

inta[13];

FILE*fp;

fp=fopen("tai.tXT","a+");

i=0;k=1;h=1;u=0;

printf("\t^^^^^^^^^^^^^\t%d年%d月份\t^^^^^^^^^^^^^^^^\n\n",x,t);

fputs("\t^^^^^^^^^^^^^^^^",fp);

fputc(x/1000+48,fp);

fputc(x/100%10+48,fp);

fputc(x/10%10+48,fp);

fputc(x%10+48,fp);

fputs("年",fp);

fputc(t/10+48,fp);

fputc(t%10+48,fp);

fputs("月份^^^^^^^^^^^^^^^^^^^^^^^",fp);

fputs("\n\n",fp);

{for(p=1900;p<=x;p++)

if(p%4==0&&p%100!=0||p%400==0)i++;

if(x%4==0&&x%100!=0||x%400==0)s=i*366+(x-1900-i)*365;

elses=i*366+(x-1900-i)*365+1;

printf("\t日\t一\t二\t三\t四\t五\t六\n");

fputs("\t日\t一\t二\t三\t四\t五\t六\n",fp);

for(i=1;i<=t;i++)

{if(i==2||i==4||i==6||i==8||i==9||i==11)u+=31;

if(i==5||i==7||i==10||i==12)u+=30;

if(i==3){if(x%4==0&&x%100!=0||x%400==0)u+=29;

elseu+=28;};

for(i=1;i<=12;i++)

{if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)a[i]=31;

if(i==4||i==6||i==9||i==11)a[i]=30;

if(i==2){if(x%4==0&&x%100!=0||x%400==0)a[i]=29;

elsea[i]=28;};

b=a[t];

y=(s%7+u)%7;

for(i=1;i<=6;i++)

for(j=1;j<=7;j++)

if(h<=y){printf("\t");fputc(\t,fp);};

if(h>y){if(k<=b){printf("\t%d",k);fputc(\t,fp);if(k>9)fputc(k/10+48,fp),fputc(k%10+48,fp);elsefputc(k+48,fp);};

if(k==b+1){printf("\n");fputc(\n,fp);};

k++;};

printf("\n");fputs("\n",fp);

printf("\t***************************************************\n\n");

fputs("\t***************************************************",fp);

fputs("\n\n",fp);

fclose(fp);

return(0);

main()

intx,t,q,e,i,c,cc,xx,tt;

floatp,pp;

FILE*fp;

if((fp=fopen("tai.txt","w"))==NULL)

{printf("error!");

exit(0);

fclose(fp);

printf("请输入你要查询的年份和月份,\n");

printf("输入格式为:“年+空格+月+Enter”。(年份>=1900)");

printf("(若想显示全年,则输“年+空格+0+Enter”)。比如“2012+空格+0+Enter”)\n");

printf("(若想输出XXXX到xxxx年的全年,则输“年+空格+年+Enter”)。比如“2010+空格+2012+Enter”)\n");

printf("(若想显示xxxx年的前或后x年,则输“年+空格+.x+Enter”)。比如2010的前3年,则输入“2010+空格+“-.3”+Enter”)\n");

printf("(若想显示xxxx年的m月前或后x个月,则输“年+空格+m.x+Enter”)。比如2010的5后3个月,则输入“2010+空格+“+5.3”+Enter”)\n");

scanf("%d%f",&x,&p);

pp=p*10;

c=(int)pp;

cc=c%10;

xx=x;

t=abs((int)p);

tt=t;

if(x<1900){printf("输入不合要求,请重新输入!!");q=1;}

elseif(x>=1900&&(t>0&&t<=12)&&cc==0)//输出指定的年月份。

{qq(x,t);}

elseif(x>=1900&&t==0&&cc==0)//输出指定的整年。

{for(t=1;t<=12;t++)

qq(x,t);}

elseif(x>=1900&&t>=1900)//输出xxxx年到xxxx年的整年。

{for(i=xx;i<=tt;i++,x++)

for(t=1;t<=12;t++)

qq(x,t);}

elseif(x>=1900&&p<1.0&&tt==0)//输出xxxx年的前或后x年。

if(cC+x<1900&&tt==0)

printf("输入的前年份过多。");

elseif(cc>0)

{for(i=0;i<=cc;i++,x++)

for(t=1;t<=12;t++)

qq(x,t);}

else{for(i=cc;i<=0;i++,x--)

for(t=1;t<=12;t++)

qq(x,t);}

elseif(x>=1900&&t<=12&&t>=1&&cc!=0)//输出xxxx年的m月前或后x个月。“呵呵你自己想象“让前或后x个月问任何数””

if(cc>0)

{for(tt=0;tt<=cc;tt++,t++)

{if(t>12)qq(x+1,t-12);

elseqq(x,t);}}

else{for(tt=0;tt>=cc;tt--,t--)

{if(t<1)qq(x-1,t+12);

elseqq(x,t);}}

while(q==1);

scanf("%d",&e);

if(e)exit(0);

这是我的一个朋友写的!

参考一下!

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告