一,问题及代码
/*
* 文件名称:Ex2-1.cpp
* 作 者:刘祎洋
* 完成日期:2017 年 2 月 28 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:先输入一个年份,再输入一个月份
* 问题描述:输入年份和月份,输出本月有多少天
* 程序输出:输出某年某月有多少天
* 问题分析:解决该问题要考虑到闰年与非闰年二月份的不同,因此就需要先判断是否为闰年
* 算法设计:我使用了if语句来判断是否为闰年,用switch语句来判断天数
*/
#include<iostream>
using namespace std;
int main()
{
int year,month,day,flag;
cout<<"请输入年份:";
cin>>year;
cout<<"请输入月份:";
cin>>month;
if((year%4==0&&year%100!=0)||(year%400==0)) //判断是否为闰年
flag=1;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
cout<<"此月有"<<day<<"天"<<endl;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
cout<<"此月有"<<day<<"天"<<endl;
break;
case 2:
if(flag==1)
day=29;
else day=28;
cout<<"此月有"<<day<<"天"<<endl;
break;
default:cout<<"输入错误";
}
return 0;
}
二、运行结果:
三、心得体会:
1. 解决该问题需要考虑周全,要细心些,想到闰年二月这个特殊的时间。
2.在写代码的过程中发现自己写的不熟练,比较慢,因此还需加强。
四、知识点总结:
1.使用if语句。
2.使用switch语句,一定要记得加break语句。
3.闰年的判断方法。
一,问题及代码
/*
* 文件名称:Ex2-2.cpp
* 作 者:刘祎洋
* 完成日期:2017 年 2 月 28 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:用for循环输入1000以内的数
* 问题描述:一个数如果恰好等于它的因子之和,这个数就称为“完数“
* 程序输出:输出符合条件的完数
* 问题分析:要使程序简单所以使用for循环,判断该数与因数之和是否相等
* 算法设计:用for循环,用if判断语句
*/
#include<iostream>
using namespace std;
int main()
{
int i,j,k;
for (i=2;i<=1000;i++)
{
k=0;
for (j=1;j<i;j++)
{
if (i%j==0)
k=k+j;
}
if (k==i)
cout<<i<<endl;
}
return 0;
}
二、运行结果:
三、心得体会:
对循环的知识掌握的不牢固,所以用起来不熟练,花费了很长时间,因此,还需在这方面多加努力,其中还犯了一些很低级的错误,把字母写错,导致花费大量的时间去检查。
四、知识点总结:
1.for循环及其嵌套
2.if语句的使用