根据x的值计算y-选择结构(中北大学-C语言程序设计)

题目

根据x的值,计算y。

y=\begin{Bmatrix} 2x^{3} + 3cosx + 5.....x<-\frac{\pi}{2} \\\\ \begin{pmatrix} \frac{x-1}{x+2} \end{pmatrix}^{3} + 5x.....-\frac{\pi }{2}\leq x< \frac{\pi }{2}\\\\ \sqrt{x + sin3x}.....x\geq \frac{\pi }{2} \end{Bmatrix}

相关知识

math.h头文件中声明了常用的一些数学运算,比如乘方,开方运算等等。下面举例几个本题中所使用到的函数。

函数名函数原型功能
cosdouble cos(double x)计算cos(x)的值
powdouble pow(double x,double y)计算x^{y}的值
sqrtdouble sqrt(double x)计算开方
sindouble sin(double x)计算sin(x)的值

源码

#include<math.h>	//使用数学库函数需要包括该头文件
#include<stdio.h>
#define PI 3.14159 	//宏定义π等于3.14159
int main(void)
{
	double x,y;

	printf("请输入x的值:\n");
	scanf("%lf",&x);

	if(x<-PI/2)
		y=2*x*x*x+3*cos(x)+5;			//cos函数

	else if(-PI/2<=x&&x<PI/2)
		y=pow((x-1)/(x+2),3)+5*x;		//pow函数

	else 
		y=sqrt(sin(3*x)+x);				//sqrt函数与sin函数
		
	printf("计算得出y的数值为:");
	printf("%lf\n",y);
	return 0;
}

结果示例

  • 20
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是中北大学排序中分治法的程序设计: #include <stdio.h> void merge(int arr[], int l, int m, int r) { int i, j, k; int n1 = m - l + 1; int n2 = r - m; int L[n1], R[n2]; for (i = 0; i < n1; i++) L[i] = arr[l + i]; for (j = 0; j < n2; j++) R[j] = arr[m + 1 + j]; i = 0; j = 0; k = l; while (i < n1 && j < n2) { if (L[i] <= R[j]) { arr[k] = L[i]; i++; } else { arr[k] = R[j]; j++; } k++; } while (i < n1) { arr[k] = L[i]; i++; k++; } while (j < n2) { arr[k] = R[j]; j++; k++; } } void mergeSort(int arr[], int l, int r) { if (l < r) { int m = l + (r - l) / 2; mergeSort(arr, l, m); mergeSort(arr, m + 1, r); merge(arr, l, m, r); } } int main() { int arr[] = { 12, 11, 13, 5, 6, 7 }; int n = sizeof(arr) / sizeof(arr[0]); printf("Given array is \n"); for (int i = 0; i < n; i++) printf("%d ", arr[i]); mergeSort(arr, 0, n - 1); printf("\nSorted array is \n"); for (int i = 0; i < n; i++) printf("%d ", arr[i]); return 0; } 在这个程序中,我们定义了两个函数:merge()和mergeSort()。merge()函数接受一个数组和三个整数作为参数,表示左、中、右三个子数组。它将两个子数组合并为一个已排序的数组。mergeSort()函数接受一个数组和两个整数作为参数,表示数组的左和右边界。它使用分治法,将数组分成两个子数组,然后递归调用它自己,直到只剩下一个元素。然后它调用merge()函数,将两个子数组合并为一个已排序的数组。最终,mergeSort()函数将返回一个已排序的数组。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Li-Shan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值