跪求高手编写一个C++程序!不要太简单也不要太复杂~交作业用的!!不是网上找到的。说清楚内容

2024-11-03 03:44:34
推荐回答(2个)
回答1:

给你两个,你自己选吧

1. 用C++编程打印杨晖三角形。格式如下:(直到第10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
....................................

算法分析:
只需注意每行头尾两个数为1,其余数都为其肩上上一行两个数的和。用一个10×10的二维数组存放各行数字。

源程序:
#include
#include
using namespace std;
void main()
{
int a[10][10],i,j; //定义整型数组,存放欲输出的十行整数,i,j用来循环
a[0][0]=1; //第一个数为
for(i=1;i<10;i++)
{
a[i][0]=1;
a[i][i]=1; //每行的头尾两个数为;
for(j=1;j {
a[i][j]=a[i-1][j]+a[i-1][j-1]; //中间的数都是它肩上的上一行两个数的和
}
}
for(i=0;i<10;i++)
{
cout< for(j=1;j<=i;j++)
{
cout< }
cout< }
}

2. 口袋中有红、黄、蓝、白、黑5种颜色的球,每次从口袋中取出3个不同颜色的球,问有多少种取法(认为“红、黄、蓝”和“红、蓝、黄”是同一种),并给出每种取法的球的颜色。试用C++编程实现。

算法分析:逐个提取的方法,先固定第一个提取的颜色,在固定第二种颜色,改变第三种颜色。

源程序:
#include
#include
using namespace std;
void main()
{
const char *p[5]=
{"red","yellow","blue","white","black"}; //用一个数组存放五种颜色
int i,j,k,n(0);
for(i=0;i<3;i++)
{ //for循环固定首种颜色
for(j=i+1;j<5;j++)
{ //for循环固定第二种颜色
for(k=j+1;k<5;k++)
{
n++;
cout< cout< } //输出种类及颜色
}
}
cout<<"取法共"<}

回答2:

#include
using namespace std;
class Date{
public:
void setdate(int y,int m,int d);
int isLeapyear();
void print();
private:
int year;
int month;
int day;
};
void Date::setdate(int y,int m,int d)
{
year=y;month=m;day=y;
}
void Date::print()
{
cout<}
int Date::isLeapyear()
{
return((year%4==0&&year%100!=0)||(year%400==0));//注意此处写法;
}
void main()
{
Date p;
p.setdate(2100,12,12);
if(p.isLeapyear())
{
p.print();
}
else
cout<<"不是闰年"<}
这是判断闰年的程序,自己写的!