求编C++程序

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:43:51
1.求1!+2!+3!+...8!的值。
2.编写一个程序,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。
3.编写一个程序,输入年,月,打印出该年份该月的天数。
请在//在语句后注解
谢谢谢谢谢谢

#include<iostream>
using namespace std;

int x(int a) //子函数,用递归计算阶乘
{
if(a==1)
return 1;
else
return a*(a-1);
}

void main()
{
int a,b(0);
for(a=1;a<=8;a++) //循环求出1~8个数的阶乘
b+=x(a); //将1~8的阶乘累加在变量b上
cout<<"1!+2!+3!+...8!="<<b<<endl;
}

//2.
#include<iostream>
using namespace std;

void qyz(int p)//求因子
{
int r;
for(int i=2; i<=p; i++)/*用p除以大于1小于等于它的整数*/
{
if(p%i==0)/*若余数为0,i即为最小因子,同时将商赋给r并跳出循环*/
{
r=p/i;
break;
}
}
cout<<"*"<<i;
if( r>=2 ) //递归出口
qyz( r ); //将商作为参数继续处理
}

void main()
{
int n;
cout<<"请输入一个正整数:";
cin>>n;
cout<<1;//在第一个*号前加上1
qyz( n );
cout<<endl;
}

//