用函数和指针完成下述程序功能:有两个整数m和n,由用户输入1,2或3。如输入1, 程序就给出m和n中大者,输入2,就给出m和n中小者,输入3,则求m与n之和。
时间: 2023-06-20 21:04:33 浏览: 118
输入两个非负整数m,n(n>=m) 输出m,n区间的所有平方数之和 例如: 输入: 4,9 输出: 13
下面是使用函数和指针实现的代码:
```c
#include <stdio.h>
void max(int *p1, int *p2);
void min(int *p1, int *p2);
void sum(int *p1, int *p2);
int main() {
int m, n, choice;
printf("Please enter two integers: ");
scanf("%d%d", &m, &n);
printf("Please enter your choice (1 for max, 2 for min, 3 for sum): ");
scanf("%d", &choice);
switch (choice) {
case 1:
max(&m, &n);
printf("Max is %d\n", m);
break;
case 2:
min(&m, &n);
printf("Min is %d\n", n);
break;
case 3:
sum(&m, &n);
printf("Sum is %d\n", m);
break;
default:
printf("Invalid choice\n");
break;
}
return 0;
}
void max(int *p1, int *p2) {
if (*p1 < *p2) {
*p1 = *p2;
}
}
void min(int *p1, int *p2) {
if (*p1 > *p2) {
*p1 = *p2;
}
}
void sum(int *p1, int *p2) {
*p1 += *p2;
}
```
我们定义了三个函数 `max`、`min` 和 `sum`,分别用于找出两个整数中的大者、小者和它们的和。这些函数接受两个指向整数的指针,以便修改它们的值。在 `main` 函数中,我们根据用户的输入选择相应的函数,并输出结果。
阅读全文