求函数定积分和围圈报数问题

用矩形法求定积分。

#include<stdio.h>
#include<math.h>
double f1(double x)
{
	return sin(x);
}

double f2(double x)
{
	return cos(x);
}

double f3(double x)
{
	return pow(2.7,x);
}

double  integral(double a, double b, double(*pfn)(double))
{
	double y;
	double ret = 0;
	for (double x = a; x < b; x += 1e-5)
	{
		y = pfn(x);
		ret += y * 1e-3;
	}

	return ret;
}
int main()
{
   double(*fn[])(double) = { f1,f2,f3 };
   int index;
   scanf("%d", &index);
   double ret = integral(0, 1, fn[index]);
   printf("%.2f\n", ret);
}

一般的在数学中,我们求积分的方法时,分割:将所属区域分割若干个小块
求和:将若干个小块都加起来
取极限
可以按照这样的方法在程序中表示出来。

有n个人围一圈报数。报3则退出。直到最后只剩一个

//#include<stdio.h>
//const int num = 10;
//void output(int *p)
//{
//	int i;
//	for (i = 0; i < num&&p[i] == 0; i++);
//	printf("剩下的人是:%d\n", p[i]);
//}
//int find(int *p,int pos, int n)
//{
//	int count = 0;
//	while (1)
//	{
//		if (p[pos] != 0)
//
//		{
//			count++;
//			if (count == n)
//				break;
//		}
//			pos++;
//			if (pos >=num)
//				pos = 0;
//	}
//	return pos;
//}
//int main()
//{
//	int a[num] = { 1,2,3,4,5,6,7,8,9,10 };
//	int pos = 0;
//	
//	for (int i = 0; i < num - 1; i++)
//	{
//		//从pos开始找第三个非0数的下标,存在pos中
//		pos = find(a, pos, 3);
//		a[pos] = 0;
//	}
//	output(a);
//	return 0;
//}
//从a数组中找到非0的数并输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值