#include
/*求n的
,递归,
分母
部分
*
结束条件为:1的阶乘=1
*
递归时,一定要有结束条件
*/
int
factorial
(n)
{
if(n==1)
//递归结束条件,1的阶乘为1
return
1
else
return
n*factorial(n-1)
//n的阶乘为n乘以(n-1)!
}
int
main()
{
int
n,x
size_t
i
//i为
无符号整数
double
re=0
printf("input
n
and
x:")
scanf("%d%d",&n,&x)
//输入n和x的值
for(i=1i<=2*n-1i+=2)
{
/*pow函数求的是x的i次方,分母为
i的
阶乘。本部分可以优化,因为i的阶乘算出来了,所以i+2的阶乘就是i的阶乘*(i+1)*(i+2),不用重复来计算阶乘。自己可以试试*/
re
+=
pow(x,i)/factorial(i)
}
printf("\nn=%d\tx=%d\tresult=%f\n",n,x,re)//打印出
最后的结果
return
0
}
#include<stdio.h>void swap(int *m,int *n){
int t
if(m <n){
t = n
n = m
m = t
}
}
int f(int m,int n){
if(m%n == 0)return n
else
return f(n,m%n)
}
int main(){
int p = 0,m = 0,n = 0
printf("请按照由大到小的顺序输入两个整数,用空格隔开:\n")
scanf("%d%d",&m,&n)
swap(m,n)
p = f(m,n)
printf("两个数的最大公约数是:%d\n",p)
return 0
}
1、首先打开vc6.0,新建一个vc项目。
2、添加头文件。
3、添加main主函数体。
4、定义a、b、t、r四个变量。
5、使用scanf给a、b变量赋值。
6、如果 a <b,交换a、b。
7、使用while不断求余。
8、使用printf打印最大公约数和最小公倍数。
10、运行程序,看看结果。