看要这样不? 下图:

#include

#include

#include

int qq(int x,int t)

{

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

int a[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;

else s=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;

else u+=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;

else a[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) ; else fputc(k+48,fp) ; };

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

k++;  };

h++;

};

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

};

};

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

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

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

fclose(fp);

return (0);

}

main()

{

int x,t,q,e,i,c,cc,xx,tt;

float p,pp;

FILE *fp;

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

{printf("error!");

exit(0);

}

fclose(fp);

do{

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;}

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

{ qq(x,t);}

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

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

qq(x,t);}

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

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

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

qq(x,t);}

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

{

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

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

else if(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);}

}

else if(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);

else qq(x,t);}}

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

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

else qq(x,t);}}

}

}

while(q==1);

scanf("%d",&e);

if(e)exit(0);

}

这是我的一个朋友写的!

参考一下!

本回答被提问者采纳

c语言输出指定年份中所有的星期六,用C语言编写程序打印任意年份的日历相关推荐

  1. 【C语言】圆球体计算:已知球的表面积公式为s=4πr2,体积公式为v=4/3πr3,若公式中π取值为3.14159,编写程序,输入半径r,输出球的表面积和体积。 个人题解

    圆球体计算:已知球的表面积公式为s=4πr2,体积公式为v=4/3πr3,若公式中π取值为3.14159,编写程序,输入半径r,输出球的表面积和体积. #include <stdio.h> ...

  2. Java黑皮书课后题第6章:**6.30(游戏:双骰子)掷双骰子游戏是某场景中非常流行的骰子游戏。编写程序,玩这个游戏的变种

    6.30(游戏:双骰子)掷双骰子游戏是某场景中非常流行的骰子游戏.编写程序,玩这个游戏的变种 题目 题目描述 破题 代码 题目 题目描述 6.30(游戏:双骰子)掷双骰子游戏是某场境中非常流行的骰子游 ...

  3. R语言---查看指定癌症中感兴趣基因的表达量---笔记整理

    原文链接:https://mp.weixin.qq.com/s?__biz=MzAxMDkxODM1Ng==&mid=2247486845&idx=1&sn=b735a4690 ...

  4. c语言输出字母abcd,有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下:...

    有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下: 答案:6  信息版本:手机版 解决时间 2019-10-06 21:36 已解决 2019-10-06 01:51 1.包 ...

  5. c语言编写程序“输入任意一个年份和月份,打印当月日历。”

    日常生活中我们所见到的日历如图所示: 代码思路: 1. 我们想打印某年某月的日历,我们就得知道这个月是从星期几开始,且这个月有多少天. 2. 要想知道这个月是从星期几开始的,就得知道上一个月的最后一天 ...

  6. C语言 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。

    2021-08-08 The beginning of everything. 萌新一只 第一天开始写 可能程序会繁琐 希望大家指正 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和 ...

  7. c语言输出数字漏斗图形_为什么你觉得C语言什么都不能做,学了没用?不可能的...

    对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来.但是学了C语言的基本语法后,发现只能开发"黑底白字"的DOS程序,完全没有漂亮的界面和生动的交互.于 ...

  8. c语言输出数字漏斗图形_为什么你觉得C语言什么都不能做,学了没用?错!大错特错!!!...

    对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来.但是学了C语言的基本语法后,发现只能开发"黑底白字"的DOS程序,完全没有漂亮的界面和生动的交互.于 ...

  9. Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...

    怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案  提问时间: 2011-12-16  22个赞 回答:这个图形对吧? * *** ...

  10. python编写程序、输出公元2000年到3000年所有闰年_编写程序,输出从公元2000年至3000年所有闰年的年号,每输出10个年号换一行.判断公元年是否为闰年的条件...

    题目: 编写程序,输出从公元2000年至3000年所有闰年的年号,每输出10个年号换一行.判断公元年是否为闰年的条件 解答: #include void Judge(int y) { while(1) ...

最新文章

  1. 008_效果和动画的Callback函数
  2. 整合看点: DellEMC的HCI市场如何来看?
  3. 服务器返回一个无效的JSON string,处理
  4. Xshell显示中文乱码问题
  5. sysctl.conf文件配置详解
  6. 如何删除DNN网站中管理菜单中的一些项
  7. 所谓高手,就是把自己活成了贝叶斯定理
  8. 超神能力:云库局面分析
  9. 淘宝京东的6位数字支付密码实现
  10. tungsten-replication实现mysql-mongo数据同步
  11. 戴尔服务器怎么u盘安装win7系统教程,戴尔电脑怎么用u盘装win7系统教程
  12. 串口服务器主要作用,串口服务器到底能干啥,作用,一看便知!
  13. 深度学习建模预测全流程(Python)!
  14. Chomp game博弈游戏
  15. 添加 右键显示隐藏文件+扩展名
  16. Admiral UVA - 1658
  17. 魔兽世界自建服务器,魔兽世界怀旧服服务器选择 选哪个服务器好
  18. 教你查询快递物流多次收件的单号
  19. Abbkine ExKine 胞浆蛋白提取试剂盒
  20. Digitalize Your Supply Chain 数字化供应链解析

热门文章

  1. JanusGraph学习-安装和使用
  2. winpe 服务器 维护,无垠PE维护系统v2017.04.30 ISO维护/网络版无广告
  3. Cadence orcad 使用MySQL搭建元件数据库及实例数据库下载
  4. 全球十九大主流卫星遥感数据下载平台
  5. Vue中使用Video标签播放 <解析后的短视频>去水印视频无响应
  6. 魔方Newlife.Cube权限系统的使用及模版覆盖详解
  7. pdf合并成一个pdf软件下载?pdf合并成一个pdf软件合成器工具
  8. 即时聊天:前端react+极光IM
  9. TopJUI Combobox 联动
  10. windows如何安装pycharm2022版本?pycharm如何安装汉化语言包{www.423zy.com}