C语言编写在两个数中找到最大的数,要求用到指针
时间: 2024-03-26 10:34:07 浏览: 16
好的,这个问题很简单,下面是代码实现:
```c
#include <stdio.h>
int max(int *a, int *b) {
return (*a > *b) ? *a : *b;
}
int main() {
int num1, num2;
printf("请输入两个整数:\n");
scanf("%d%d", &num1, &num2);
int *p1 = &num1;
int *p2 = &num2;
printf("%d和%d中最大的数是: %d\n", num1, num2, max(p1, p2));
return 0;
}
```
首先我们定义了一个 `max` 函数,该函数接受两个整型指针作为参数,返回其中较大的数。然后在 `main` 函数中,我们通过 `scanf` 函数获取用户输入的两个整数,然后将它们的地址分别赋值给指针 `p1` 和 `p2`。最后调用 `max` 函数获取两个数中的最大值,并输出结果。
相关问题
用C语言编写一个程序且要求用到函数,对传送过来的三个数按由小到大的顺序排列,并通过形参传回调用函数。
好的,以下是用C语言编写的程序,可以对传递进来的三个整数按照由小到大的顺序进行排序,并将排序后的结果通过形参传递回调用函数。
```c
#include <stdio.h>
void sort(int *x, int *y, int *z) {
int temp;
if (*x > *y) {
temp = *x;
*x = *y;
*y = temp;
}
if (*y > *z) {
temp = *y;
*y = *z;
*z = temp;
}
if (*x > *y) {
temp = *x;
*x = *y;
*y = temp;
}
}
int main() {
int a, b, c;
printf("Please input three integers: ");
scanf("%d %d %d", &a, &b, &c);
printf("Before sorting: a = %d, b = %d, c = %d\n", a, b, c);
sort(&a, &b, &c);
printf("After sorting: a = %d, b = %d, c = %d\n", a, b, c);
return 0;
}
```
在这个程序中,我们首先定义了一个sort函数,用于对传递进来的三个整数进行排序。然后,我们在主函数中通过调用sort函数来对从用户处输入的三个整数按照由小到大的顺序进行排序,并输出排序后的结果。
在sort函数中,我们使用了指针来传递三个整数的值。在函数内部,我们首先比较前两个整数的大小,并将它们按照由小到大的顺序进行交换。然后,我们再次比较第二个整数和第三个整数的大小,并将它们也按照由小到大的顺序进行交换。最后,我们再次比较前两个整数的大小,确保它们也按照由小到大的顺序排列。
下面是一个示例运行结果:
```
Please input three integers: 3 2 1
Before sorting: a = 3, b = 2, c = 1
After sorting: a = 1, b = 2, c = 3
```
用C语言编写一个程序要求用到函数int find(int *p,int n,int x),在指针p所指的数组中查找整型数x,如果x在数组中,则该函数返回1,否则返回0。n为数组的大小。
好的,我来帮您编写这个程序:
```
#include <stdio.h>
int find(int *p, int n, int x);
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int x = 3;
int result = find(arr, n, x);
if (result == 1)
{
printf("%d is found in the array.\n", x);
}
else
{
printf("%d is not found in the array.\n", x);
}
return 0;
}
int find(int *p, int n, int x)
{
for (int i = 0; i < n; i++)
{
if (*(p + i) == x)
{
return 1;
}
}
return 0;
}
```
在这个程序中,我们定义了一个`find`函数来查找整型数x是否在指针p所指的数组中。在`main`函数中,我们定义了一个整型数组`arr`,数组大小为`n`,要查找的整数为`x`。调用`find`函数来判断`x`是否在`arr`数组中,并根据结果输出相应的信息。
在`find`函数中,我们使用了一个`for`循环来遍历数组中的每一个元素。如果找到了`x`,则返回1,否则返回0。在数组中查找元素需要注意的是,我们使用指针来访问数组元素,即使用`*(p + i)`来代替`p[i]`,这两种写法是等价的。