利用指针,设计子函数实现求两个数的和差积商
时间: 2023-04-26 12:00:25 浏览: 107
可以定义一个函数,接收两个参数,分别是两个数的指针,然后在函数内部进行计算,最后将结果存储在指针指向的地址中。
例如:
void calculate(int* a, int* b, int* sum, int* difference, int* product, float* quotient) {
*sum = *a + *b;
*difference = *a - *b;
*product = *a * *b;
*quotient = (float)*a / *b;
}
在调用函数时,传入两个数的指针以及存储结果的指针,函数会计算出和、差、积、商,并将结果存储在对应的指针指向的地址中。
例如:
int main() {
int a = 10, b = 5;
int sum, difference, product;
float quotient;
calculate(&a, &b, &sum, &difference, &product, "ient);
printf("sum = %d\n", sum);
printf("difference = %d\n", difference);
printf("product = %d\n", product);
printf("quotient = %f\n", quotient);
return ;
}
相关问题
c++使用指针利用两个子函数实现四则运算的代码 点击复制后,将打开C知道体验页
我可以回答这个问题。以下是一个使用指针利用两个子函数实现四则运算的代码:
#include <stdio.h>
void add(int *a, int *b, int *result) {
*result = *a + *b;
}
void subtract(int *a, int *b, int *result) {
*result = *a - *b;
}
void multiply(int *a, int *b, int *result) {
*result = *a * *b;
}
void divide(int *a, int *b, int *result) {
*result = *a / *b;
}
int main() {
int a, b, result;
char operator;
printf("Enter an expression: ");
scanf("%d %c %d", &a, &operator, &b);
switch (operator) {
case '+':
add(&a, &b, &result);
break;
case '-':
subtract(&a, &b, &result);
break;
case '*':
multiply(&a, &b, &result);
break;
case '/':
divide(&a, &b, &result);
break;
default:
printf("Invalid operator");
return 1;
}
printf("%d %c %d = %d", a, operator, b, result);
return ;
}
C++:编写子函数,求出实型数组中的最大值及其下标,在主函数中输出结果。要求:利用指针实现
下面是使用指针实现求实型数组中最大值及其下标的子函数的代码:
```c++
#include <iostream>
using namespace std;
void find_max(double* arr, int size, double& max_val, int& max_index) {
max_val = arr[0];
max_index = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
max_index = i;
}
}
}
int main() {
double arr[] = {3.5, 2.4, 5.6, 1.2, 6.7};
int size = sizeof(arr) / sizeof(double);
double max_val;
int max_index;
find_max(arr, size, max_val, max_index);
cout << "The maximum value is " << max_val << " and its index is " << max_index << endl;
return 0;
}
```
在主函数中,我们首先定义一个实型数组 `arr`,然后通过 `sizeof` 运算符和 `sizeof(double)` 得到数组的大小 `size`。接着定义变量 `max_val` 和 `max_index`,它们分别用于存储最大值和最大值所在的下标。最后调用 `find_max` 函数,传入数组、大小和两个引用变量,用于在函数中修改最大值和最大值下标的值。最后在主函数中输出结果。