【每天例题】蓝桥杯 C语言 顺子日期
顺子日期
题目

题目要求
1.顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期
2.题目要求年份为2022年
思路分析
1.2022年为平年,可以使用for循环,将2022年日期进行日期判断
2.进行日期判断后再进行顺子日期判断,可以采用数组的形式提取日期的数位,再判断日期
代码
#include
int shunzi( int n) //判断是否存在顺子
{
int m=n;
int i=0,j;
int a[8];
int x=0;
while (m!=0) //拆分数位
{
a[i]=m%10;
m/=10;
i++;
} //此时a[i]为原数字的逆序数
for (j=0;j<+7;j++)
{
if (a[j+1]-a[j]==-1&&a[j+2]-a[j+1]==-1)
{
return 1;
x=1;
break ;
}
else
{
continue ;
}
}
if (x==0) //没有顺子数
{
return 0;
}
}
int main()
{
int i;
int day,month,year;
int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int count=0;
for (i=20220101;i<=20221231;i++)
{
year=i/10000;
month=i%10000/100;
day=i%100;
if (day<=days[month]) //判断日期合法性
{
if (shunzi(i)==1)
{
count++;
}
}
}
printf( "%d" ,count);
return 0;
}
运行结果


浙公网安备 33010602011771号