C语言编程键盘任意输入两个整数,利用指针编程实现将其交换后再重新输出。 程序的运行示例如下: Please enter a,b:15,8 Before swap: a = 15, b = 8 After swap: a = 8, b = 15 输入提示:"Please enter a,b:" 输入格式:"%d,%d" 输出提示: "Before swap: a = %d, b = %d\n" "After swap: a = %d, b = %d\n"
时间: 2024-03-25 22:39:34 浏览: 427
好的,这是一个经典的指针交换例题,以下是代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a, b;
printf("Please enter a,b:");
scanf("%d,%d", &a, &b);
printf("Before swap: a = %d, b = %d\n", a, b);
swap(&a, &b);
printf("After swap: a = %d, b = %d\n", a, b);
return 0;
}
```
运行结果如下:
```
Please enter a,b:15,8
Before swap: a = 15, b = 8
After swap: a = 8, b = 15
```
相关问题
键盘任意输入两个整数,利用指针编程实现将其交换后再重新输出。 程序的运行示例如下: Please enter a,b:15,8 Before swap: a = 15, b = 8 After swap: a = 8, b = 15的C语言程序
以下是实现交换两个整数的C语言程序:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a, b;
printf("Please enter a,b:");
scanf("%d,%d", &a, &b);
printf("Before swap: a = %d, b = %d\n", a, b);
swap(&a, &b);
printf("After swap: a = %d, b = %d\n", a, b);
return 0;
}
```
程序中定义了一个 `swap` 函数,该函数通过指针实现了交换两个整数的功能。在 `main` 函数中,首先从键盘读入两个整数,然后输出交换前的结果,调用 `swap` 函数进行交换,最后输出交换后的结果。
C语言编程实现:首先输入两个整数,然后输入功能号(1~4),通过指向函数的指针变量调用对应的加法函数、减法函数、乘法函数或除法函数,输出两个整数相加、相减、相乘或相除的结果。
下面是实现该程序的示例代码:
```c
#include <stdio.h>
int add(int x, int y) {
return x + y;
}
int sub(int x, int y) {
return x - y;
}
int mul(int x, int y) {
return x * y;
}
int div(int x, int y) {
if (y == 0) {
printf("Error: divisor is zero!\n");
return 0;
} else {
return x / y;
}
}
int main() {
int x, y, choice;
int (*func_ptr)(int, int) = NULL;
printf("Please enter two integers: ");
scanf("%d %d", &x, &y);
printf("Please enter the function number (1=add, 2=sub, 3=mul, 4=div): ");
scanf("%d", &choice);
switch (choice) {
case 1:
func_ptr = add;
break;
case 2:
func_ptr = sub;
break;
case 3:
func_ptr = mul;
break;
case 4:
func_ptr = div;
break;
default:
printf("Error: invalid function number!\n");
return 1;
}
int result = (*func_ptr)(x, y);
printf("The result is: %d\n", result);
return 0;
}
```
解释一下程序的实现:
1. 首先,我们使用 `scanf` 函数输入两个整数 `x` 和 `y`。
2. 然后,我们使用 `scanf` 函数输入一个整数 `choice`,表示用户希望调用哪种函数。
3. 根据用户输入的 `choice`,我们使用 `switch` 语句选择对应的加法、减法、乘法或除法函数,并将其指针存储在 `func_ptr` 变量中。
4. 最后,我们通过 `(*func_ptr)(x, y)` 的方式调用选定的函数,并将其结果存储在 `result` 变量中,然后将其打印出来。
需要注意的是,除法函数 `div` 中要特判除数为零的情况,并在这种情况下打印错误信息。
阅读全文