【项目6:输出星状图】
一、问题及代码
/*
* 文件名称:Ex3-1.cpp
* 作 者:刘俊博
* 完成日期:2017 年 4 月 7 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:无
* 问题描述:输出星号图
* 程序输出:星号图
* 问题分析:
* 算法设计:
*/
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,e;
cout<<"星号图\n";
for(a=1;a<6;a++)
{
for(b=1;b<=6-a;b++)
cout<<" ";
cout<<"*";
for(c=1;c<=1+(a-2)*2;c++)
cout<<" ";
if(a>1)
cout<<"*";
cout<<endl;
}
for(e=1;e<2*a;e++)
cout<<"*";
cout<<endl;
return 0;
}
二、运行结果
三、心得体会:要先找出“*”的显示规律,再进行算法设计
四、知识点总结:for语句可以使用嵌套,嵌套循环是指在另一个循环之内的循环。通常使用嵌套循环来按行按列显示数据。也就是说一个循环处理一行中的所有列,而另一个循环处理所有的行。
【项目7:穷举法解决组合问题】(3)三色球问题
一、问题及代码
/*
* 文件名称:Ex3-1.cpp
* 作 者:刘俊博
* 完成日期:2017 年 4 月 7 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:无
* 问题描述:球类颜色搭配种类
* 程序输出:颜色搭配种类
* 问题分析:
* 算法设计:
*/
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cout<<"颜色搭配种类\n";
for(a=0;a<=3;a++)
{
for(b=0;b<=3;b++)
{
for(c=2;c<=8-a-b;c++)
{
if(a+b+c==8&&c<=6)
cout<<"红球:"<<a<<",白球:"<<b<<",黑球:"<<c<<endl;
}
}
}
return 0;
}
二、运行结果
三、心得体会:使用穷举法要注意是结果有意义,不能超出取值范围,如:黑球不能多于6个
四、知识点总结:使用for语句进行穷举计算要使每一种情况都要考虑到,不能有遗漏,要注意循环次数。