导读
第十一题:
求任意两个数的最大公约数。
程序:
#include<stdio.h>
main()
{
int a, b, m, n, q;
printf("\n请输入正整数:\n");
scanf("%d %d", &m, &n);
a=m;
b=n;
if(a>b)
{
int z;
z=a;
a=b;
b=z;
}
do
{
q=b%a;
b=a;
a=q;
}
while(q!=0);
printf("\n这两个数的最大公约数是:%d\n", b);
}
运行:
第十二题:
利用循环语句求1-1/2+1/3-1/7+..+1/(2n-1)(直到第10项的和)。
程序:
#include<stdio.h>
main()
{
int i, t=1;
float s=1, p=0, n=1;
for(i=1; i<=10; i++)
{
printf("%2d/%f\n", t, n);
p=p+s;
n=n+2;
t=-t;
s=t/n;
}
printf("\n10项的和是:%f\n", p);
}
运行:
第十三题:
编写函数,求级数S=1+2+3+..+n,并在主函数中求:y=[(1+2+3)+(1+2+3+4)+(1+2+3+4+5)]/[(1+2+3+4+5+6)+(1+2+3+4+5+6+7)]。
程序:
#include<stdio.h>
int fun(int);
int main()
{
float s;
s=float(fun(3)+fun(4)+fun(5))/(fun(6)+fun(7));
printf("%lf + %lf + %lf\n", float(fun(3)), float(fun(4)), float(fun(5)));
printf("---------------------------------\n");
printf("%lf + %lf\n\n", float(fun(6)), float(fun(7)));
printf("SUM=%f\n", s);
}
// sum=0.484375
int fun(int a)
{
int sum=0;
int i;
for(i=1; i<=a; i++)
{
sum=sum+i;
}
return sum;
}
运行:
第十四题:
编写函数求:
程序:
#include<stdio.h>
int main()
{
int x, y=0, n, i;
for(n=1; n<=5; n++)
{
x=1;
for(i=1; i<=n; i++)
{
x=x*i;
y=y+x;
}
printf("%d的阶乘结果是:%d, 累和是:%d\n", n, x, y);
}
printf("%d\n", y);
}
运行: