我是靠谱客的博主 健壮花卷,最近开发中收集的这篇文章主要介绍用C/C++解决一些数学问题(一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1:高中有道数学题是求n!的题,意思是求出1*2*3*....*n,现在做一个这样的程序

      要求:输入n值(n必须是整形),然后求出n!,需要要将这个功能写入函数,然后直接调用函数

      代码如下:

#include <iostream>
using namespace std;
int fun1();                         //函数声明
void main()
{
	while(1)
	{
		fun1();
	}

}
int fun1()
{
	int n;
	int pro=1;
	cout<<"请输入你要求的阶乘:";
	cin>>n;
	if(n<=0||(int)n!=n)                           //n做一个判断,必须是>0的整数,不符合的处理方式
	{
		cout<<"请输入一个整数"<<endl;
		pro=0;
		return pro;
	}
	for (int i = 1; i<=n; i++)
	{
		pro=pro*i;
	}
	if(pro<=pow(2,32)&&pro>0)                   
	{
		cout<<pro<<endl;
	}
	else  //对计算结果溢出
	{
	cout<<n<<"的阶乘已经大于计算机计算范围"<<endl;    
	}

	return pro;
}

运行结果:


2:记得 初中还是有小学背诵的质数(素数表),能不能通过c/C++输出呢?

      首先找了下素数定义:这样的整数,它除了能表示为它自己和 1 的乘积以外,不能表示为任 何其它两个整数的乘积

      有了这个定义基础后,我需要求出100以内的素数,并且将1000以内的素数输出来,首先得做一个1~100的循环,对每个数进行判断,如果是素数,就输出,如果不是,就进入下个循环:代码如下:

#include <iostream>
using namespace std;
bool fun1(int num);
void main()
{
	for(int i=2;i<=1000;i++)
	{
		if(fun1(i)==true)
		{
			cout<<i<<'t';
		}
	}
}
bool fun1(int num)
{
	if(num==2)
	{
		return true;
	}
	for(int i=2;i<num;i++)
	{
		if(num%i==0)
		{
			return false;
		}
	}
	return true;
}
运行结果:



3:在实际计算三角形的过程当中,我们知道3个边的长度,想求出三角形的面积,每次计算起来很麻烦,我们这个也可以通过C/C++编程实现

      首先我们得清楚通过三边计算面积的海伦公式,S=√[P(P-A)(P-B)(P-C)],其中p=三边和/2,有了这个公式,我们将其写入函数代码如下:

#include <iostream>
using namespace std;
double fun1(double a,double b,double c);                         //函数声明
void main()
{
	while(1)
	{
		double a,b,c,s;
		cout<<"输入三边:";
		cin>>a>>b>>c;
		s=fun1(a,b,c);
		cout<<"面积:"<<s<<endl;
	}
}
double fun1(double a,double b,double c)
{
	double p=(a+b+c)/2;
	double s=sqrt(p*(p-a)*(p-b)*(p-c));
	return s;
}
运行结果:


最后

以上就是健壮花卷为你收集整理的用C/C++解决一些数学问题(一)的全部内容,希望文章能够帮你解决用C/C++解决一些数学问题(一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(159)

评论列表共有 0 条评论

立即
投稿
返回
顶部