c语言输出指定年份中所有的星期六,用C语言编写程序打印任意年份的日历
看要这样不? 下图:
#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语言编写程序打印任意年份的日历相关推荐
- 【C语言】圆球体计算:已知球的表面积公式为s=4πr2,体积公式为v=4/3πr3,若公式中π取值为3.14159,编写程序,输入半径r,输出球的表面积和体积。 个人题解
圆球体计算:已知球的表面积公式为s=4πr2,体积公式为v=4/3πr3,若公式中π取值为3.14159,编写程序,输入半径r,输出球的表面积和体积. #include <stdio.h> ...
- Java黑皮书课后题第6章:**6.30(游戏:双骰子)掷双骰子游戏是某场景中非常流行的骰子游戏。编写程序,玩这个游戏的变种
6.30(游戏:双骰子)掷双骰子游戏是某场景中非常流行的骰子游戏.编写程序,玩这个游戏的变种 题目 题目描述 破题 代码 题目 题目描述 6.30(游戏:双骰子)掷双骰子游戏是某场境中非常流行的骰子游 ...
- R语言---查看指定癌症中感兴趣基因的表达量---笔记整理
原文链接:https://mp.weixin.qq.com/s?__biz=MzAxMDkxODM1Ng==&mid=2247486845&idx=1&sn=b735a4690 ...
- c语言输出字母abcd,有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下:...
有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下: 答案:6 信息版本:手机版 解决时间 2019-10-06 21:36 已解决 2019-10-06 01:51 1.包 ...
- c语言编写程序“输入任意一个年份和月份,打印当月日历。”
日常生活中我们所见到的日历如图所示: 代码思路: 1. 我们想打印某年某月的日历,我们就得知道这个月是从星期几开始,且这个月有多少天. 2. 要想知道这个月是从星期几开始的,就得知道上一个月的最后一天 ...
- C语言 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。
2021-08-08 The beginning of everything. 萌新一只 第一天开始写 可能程序会繁琐 希望大家指正 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和 ...
- c语言输出数字漏斗图形_为什么你觉得C语言什么都不能做,学了没用?不可能的...
对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来.但是学了C语言的基本语法后,发现只能开发"黑底白字"的DOS程序,完全没有漂亮的界面和生动的交互.于 ...
- c语言输出数字漏斗图形_为什么你觉得C语言什么都不能做,学了没用?错!大错特错!!!...
对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来.但是学了C语言的基本语法后,发现只能开发"黑底白字"的DOS程序,完全没有漂亮的界面和生动的交互.于 ...
- Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...
怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案 提问时间: 2011-12-16 22个赞 回答:这个图形对吧? * *** ...
- python编写程序、输出公元2000年到3000年所有闰年_编写程序,输出从公元2000年至3000年所有闰年的年号,每输出10个年号换一行.判断公元年是否为闰年的条件...
题目: 编写程序,输出从公元2000年至3000年所有闰年的年号,每输出10个年号换一行.判断公元年是否为闰年的条件 解答: #include void Judge(int y) { while(1) ...
最新文章
- 008_效果和动画的Callback函数
- 整合看点: DellEMC的HCI市场如何来看?
- 服务器返回一个无效的JSON string,处理
- Xshell显示中文乱码问题
- sysctl.conf文件配置详解
- 如何删除DNN网站中管理菜单中的一些项
- 所谓高手,就是把自己活成了贝叶斯定理
- 超神能力:云库局面分析
- 淘宝京东的6位数字支付密码实现
- tungsten-replication实现mysql-mongo数据同步
- 戴尔服务器怎么u盘安装win7系统教程,戴尔电脑怎么用u盘装win7系统教程
- 串口服务器主要作用,串口服务器到底能干啥,作用,一看便知!
- 深度学习建模预测全流程(Python)!
- Chomp game博弈游戏
- 添加 右键显示隐藏文件+扩展名
- Admiral UVA - 1658
- 魔兽世界自建服务器,魔兽世界怀旧服服务器选择 选哪个服务器好
- 教你查询快递物流多次收件的单号
- Abbkine ExKine 胞浆蛋白提取试剂盒
- Digitalize Your Supply Chain 数字化供应链解析
热门文章
- JanusGraph学习-安装和使用
- winpe 服务器 维护,无垠PE维护系统v2017.04.30 ISO维护/网络版无广告
- Cadence orcad 使用MySQL搭建元件数据库及实例数据库下载
- 全球十九大主流卫星遥感数据下载平台
- Vue中使用Video标签播放 <解析后的短视频>去水印视频无响应
- 魔方Newlife.Cube权限系统的使用及模版覆盖详解
- pdf合并成一个pdf软件下载?pdf合并成一个pdf软件合成器工具
- 即时聊天:前端react+极光IM
- TopJUI Combobox 联动
- windows如何安装pycharm2022版本?pycharm如何安装汉化语言包{www.423zy.com}