一、输入三角形的三边长,求三角形面积。
//Author:崇山主人;
//预处理语句
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
float a, b, c, p, area;//变量定义语句
//输入语句,依次输入边长a,b.c
printf("|您输入的边长a为:");
scanf_s("%f", &a);
printf("|您输入的边长b为:");
scanf_s("%f", &b);
printf("|您输入的边长c为:");
scanf_s("%f", &c);
//计算三角形面积
p = 1.0 / 2 * (a + b + c);
area = sqrt(p*(p-a)*(p-b)*(p-c));
//输出a,b,c,p,及面积area的值
printf("\n");
printf("|ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n");
printf("|您输入的边长a为:%35.3f;<--\n", a);
printf("|您输入的边长b为:%35.3f;<--\n",b);
printf("|您输入的边长c为:%35.3f;<--\n",c);
printf("|p=(a+b+c)/2=%40.3f;<--\n",p);
printf("|三角形的面积area=[p(p-a)(p-b)(p-c)]^(1/2)=%10.3f:<--\n",area);
printf("|ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n");
printf("\n");
system("pause");//暂停,等待用户信号
return 0;//返回0,main()函数结束
}
二、输入两个正整数m和n,求它们的最大公约数。
注释:
约数,又称因数;整数m除以整数n(n≠0) 除得的商正好是整数而没有余数,就说m能被n整除,或n能整除m;m称为n的倍数,n称为m的约数。
最大公约数,是指两个或多个整数共有约数中最大的一个。
//Author:崇山主人;
//预处理语句
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m, n, r, a, b;//变量定义语句
//输入语句,依次输入被除数m和除数n
printf("|您输入的被除数m为:");
scanf_s("%d", &m);
printf("|您输入的除数n为:");
scanf_s("%d", &n);
//保留初始m,n
a = m;
b = n;
//辗转相除法计算最大公约数
r = m % n;
while (r != 0)
{
m = n;
n = r;
r = m % n;
}
//输出被除数m和除数n,及最大公约数的值
printf("\n");
printf("|ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n");
printf("|您输入的被除数m为:%10.1d;<--\n", a);
printf("|您输入的除数n为:%12.1d;<--\n", b);
printf("|最大公约数为:%15.1d;<--\n", n);
printf("|ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n");
printf("\n");
system("pause");//暂停,等待用户信号
return 0;//返回0,main()函数结束
}
三、分解质因数
/**
* @Author:崇山主人;
* @Version:0.0.0;
* @name:分解质因数;
* @interface-name:object.cpp.
*
* @Qustion:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
* @Analysis:
*/
#include <stdio.h>
int main()
{
int n,i,c;
printf("输入需要分解质因数的正整数:\n");
scanf_s("%d",&n);
if (n <= 0)
{
printf("您输入需要分解质因数的应该是正整数:\n");
}
else if(n==1||n==2)
{
printf("您输入的正整数是%d,已经是质数了!即:%d=1*%d:\n",n,n,n);
}
else
{
printf("分解质因数为:%d=",n);
for (i = 2; i <= n; i++)
{
while (n % i == 0)
{
printf("%d", i);
n /= i;
if (n != 1)
{
printf("*");
}
}
}
printf("\n");
}
return 0;
}