一.问题及代码
作 者:杨振宇
完成日期:2017 年 2月 27 日
版 本 号:v1.0
对任务及求解方法的描述部分:将问题分为3个部分分别解答
输入描述:
问题描述:根据输入的数据,输出相应的天数
程序输出:某年某月的天数
问题分析:不同的情况按照不同的部分进行解答并输出
算法设计:将闰年的情况考虑在内,将每年12个月分为3个部分进行相应的输出
#include<iostream>
using namespace std;
int main()
{
int year,month;
cout<<"请输入年份和月份:";
cin>>year>>month;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:cout<<"本月有31天"<<endl;break;
case 4:
case 6:
case 9:
case 11:cout<<"本月有30天"<<endl;break;
case 2:if(year%2==0)
{
cout<<"本月有29天"<<endl;break;
}
else
{
cout<<"本月有28天"<<endl;break;
}
}
cin.get();
return 0;
}
二、运算结果
三、心得体会
对于基础的格式以及switch语句的应用有了更深的理解和体会。加油!
四、知识点总结
应熟练掌握和使用switch语句,对于此类可以通过固定数值进行分类的情况,可以使用switch进行分类,使得整个逻辑变得更加清晰明了。
一、问题及代码
作 者:杨振宇
完成日期:2017 年 2月 27 日
版 本 号:v1.0
对任务及求解方法的描述部分:要求对数字进行多次的判断
输入描述:
问题描述:输出满足所有条件的数字
程序输出:1000-10000以内所有各位和千位相等的质数
问题分析:需要对涉及到的数字进行多次的判断
算法设计:先进行一次判断,对满足条件的数字进行再次的判断
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int i,j,k,m,n,u,p;
cout<<"1000到10000之间个位等于千位的质数为:";
for(i=1000;i<=10000;i++)
{
j=i/1000;
k=i%10;
m=sqrt(i);
for(n=2;n<m;n++)
{
u=i%n;
if(u==0)
{
p=0;
break;
}
else if(u!=0&&j==k)
{
p=1;
}
}
if(p==1)
{
cout<<i<<"\t";
}
}
return 0;
}
二、运行结果
三、心得体会
对于循环语句的使用更加的熟练,对于问题的思维方式更加的清晰。加油!
四、知识点总结
对于需要多次计算的程序,使用循环语句进行编辑,在以条件语句进行正确与否的判断,不失为一个良好的选择。