C语言题目:函数int fun(int x)完成对任意输入的整数x,用下式计算函数值
时间: 2024-06-06 21:11:08 浏览: 27
题目描述
编写一个函数 int fun(int x),函数完成对任意输入的整数 x,用下式计算函数值 y 并返回:
y = x^3 - 3x^2 + x + 2
其中,^ 表示幂运算。
函数接口定义
int fun(int x);
函数参数
- int x:任意整数。
函数返回值
- int:计算出的函数值。
样例
输入:x = 2
输出:y = 4
输入输出解释:
y = 2^3 - 3×2^2 + 2 + 2 = 4
算法思路
根据题目给出的公式,将其转化为代码实现即可。
代码实现
相关问题
用c语言编写:调用函数fun(),其功能是用选择法对10个整数按降序进行排序。
下面是用C语言实现的调用函数fun(),实现选择排序(降序)的代码:
```c
#include <stdio.h>
void fun(int arr[], int n);
int main() {
int arr[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
int n = sizeof(arr) / sizeof(arr[0]);
fun(arr, n);
printf("降序排序后的数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void fun(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int max_index = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] > arr[max_index]) {
max_index = j;
}
}
if (max_index != i) {
int temp = arr[i];
arr[i] = arr[max_index];
arr[max_index] = temp;
}
}
}
```
运行结果如下:
```
降序排序后的数组为:
10 9 8 7 6 5 4 3 2 1
```
C语言功能:编写函数fun,求任一整数m的n次方。
可以使用循环结构实现,函数定义如下:
```c
double fun(int m, int n) {
double result = 1.0;
for (int i = 0; i < n; i++) {
result *= m;
}
return result;
}
```
其中,m为底数,n为指数,result为计算结果。循环语句中,每次将m与result相乘,共循环n次,最终得到m的n次方的结果,并将其返回。需要注意的是,为了避免结果溢出,可以使用数据类型为double的变量存储结果。