程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 文件名称: cycledate.cpp
* 作 者: 薛广晨 计114—3
* 完成日期: 2011 年11月13日
* 版本号: x1.0
* 对任务及求解方法的描述部分
* 输入描述:无
* 问题描述:很诱人的一个题目:2011年11月02日是一个回文日:2011 1102,我们刚刚度过!列出近80年还有多少个回文日(保守些,假如我们能活到百岁)。注意:一年只有12个月,各月的日期也有要求。
* 程序输出:
* 问题分析:在近80年中,年份确定后,将其从最低位开始倒着取出,每两位组成一个单位,分别对应月份和日期部分。分别判断这些月份和日期的取值范围是否合乎要求,如果符合则输出……
* 算法设计:……
* 程序头部的注释结束(此处也删除了斜杠)
#include <iostream>
using namespace std;
int main( )
{
int year,month,a=0,b,y,s=0,d=0,n=0;
for(year=11;year<=99;year++)
{
y=year*100;
for(month=1;month<=12;month++)
{
s=y+month;
d=s;
b=0;
do
{
a=s%10;
b=b*10+a;
s=s/10;
if(s==0)
break;
}while(1);
if(b==d)
{
n=n+1;
cout<<"20"<<d<<"02"<<endl;
}
}
}
cout<<"共"<<n<<"回文年"<<endl;
return 0;
}
运行结果:
*
经验积累:
1. 各方面要考虑周详
2. 变量用有意义的名称,编程过程中不会将意思搞乱
上机感言:
人生苦短,我们还能过9个回文日,好好想想吧,20111102多么珍贵。