求编程的大虾做一道基本的C语言编程题!!! 题目: 从键盘中输入两个实数,并交换其值!

2025-01-05 07:11:14
推荐回答(4个)
回答1:

#include

fun1(int *a,int *b){
int t = *a;*a=*b;*b=t;
//定义一个暂时变量,先存储a的值,然后b赋值给a,然后t赋值给b
//因为函数的形参是地址,所以a,b可以看成(但并不是)是主函数里的a和b。
}
fun2(int *a,int *b){
*a += *b;
*b = *a-*b;
*a-=*b;
//这个算法的好处是不用声明新的变量就可以达到互换的目的。
//注意,fun1()和fun2中的a是主函数中的变量a的地址。
//所以,这里的a和主函数里的不是一个东西~!
}
main(){
int a,b;//定义2个整型变量
printf("Please enter two number:");//提示语
scanf("%d %d",&a,&b);//读取键盘输出,分别存入2个变量中,输入时,数字用空格分开
fun1(&a,&b);//执行第一种交换函数
printf("%d,%d\n",a,b);//打印输出交换后的两个数到屏幕
fun2(&a,&b);//执行第二种交换函数
printf("%d,%d\n",a,b);//打印输出交换后的两个数到屏幕,可以看到数又换回来了。
}

回答2:

#include
void main()
{
float a,b,t;
scanf("%f%f",&a,&b);
t=a;先把a的值存在中间变量t中
a=b;把a的值赋给b
b=t;再把t中存得a的值赋给b,这样就成功交换两个值了
printf("a=%f,b=%f\n",a,b):
}

回答3:

#include "stdio.h"
void main()
{
int a,b;
int *pa,*pb;
void swap(int *p1,int *p2);
printf("input a,b:\n");
scanf("%d%d",&a,&b);
printf("输入的数为:a=%d,b=%d",a,b);
pa=a,pb=b;
swap(pa,pb);
printf("交换后的数为:a=%d,b=%d",a,b);
}
void swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}

回答4:

#include
main()
{
int a,b,t;
scanf("%d%d",&a,&b);
t=a;
a=b;
b=t;
printf("a=%d,b=%d\n",a,b):
}