C语言程序题:数据交换,从键盘输入a、b的值,输出交换以后的值

如题所述

//思路一:采用第三者中间变量
main()
{ int a,b,t;
  scanf("%d%d",&a,&b);
  printf("交换前:a=%d,b=%d\n",a,b);
  t=a;
  a=b;
  b=t;
  printf("交换后:a=%d,b=%d\n",a,b);
}

//思路二:利用数学计算方法
main()
{ int a,b;
  scanf("%d%d",&a,&b);
  printf("交换前:a=%d,b=%d\n",a,b);
  a=a+b;
  b=a-b;
  a=a-b;
  printf("交换后:a=%d,b=%d\n",a,b);
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-21
#include "stdio.h"
void main()
{
int a,b,t;
{t=a;a=b;b=t}
printf("a=%d\nb=%d",a,b);
}
数据类型可以自己改变,呵呵
第2个回答  2013-11-21
#include<stdio.h>
void swap(int *a,int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
}

int main()
{
int a,b;
scanf("%d %d",&a,&b);
swap(&a,&b);
printf("%d %d",a,b);
return 0;
}
第3个回答  2013-11-21
输入 a,b ,然后互换, t=a;a=b;b=t
第4个回答  2013-11-21
a=a+b ;b=a-b;a=a+b;

C语言程序题:数据交换,从键盘输入a、b的值,输出交换以后的值
\/\/思路一:采用第三者中间变量main(){ int a,b,t; scanf("%d%d",&a,&b); printf("交换前:a=%d,b=%d\\n",a,b); t=a; a=b; b=t; printf("交换后:a=%d,b=%d\\n",a,b);}\/\/思路二:利用数学计算方法main(){ int a,b; scanf("%d%d",&a,&b); printf("...

C语言 编写程序,从键盘上输入两个不同的整数,让两个整数实现数据交换...
int main(){ int a, b;printf("请输入两个不同的整数:");scanf("%d %d", &a, &b);if (a != b){ int tmp = a;a = b;b = tmp;printf("交换后的数为%d %d\\n", a, b);} else { printf("两个数相等,无需交换!\\n");} return 0;} ...

c语言 将变量A和B的值进行互换 的程序
include <stdlib.h>void swap1(int& a,int& b) \/\/使用中间变量交换两个值 { int temp = a;a = b;b = temp;}void swap2(int& a, int& b) \/\/只用加法、减法、乘法也可以交换两个值 { a = a + b;b = a - b;a = a - b;}void swap3(int& a, int& b) \/\/使...

c语言 输入a和b两个整数,按先小后大的顺序输出a和b(交换指针)
1、新建一个工程和.c文件 ,输入头文件和主函数。2、然后开始定义变量类型。3、输入a和b两个整数。4、对a和b两个不同的整数进行赋值。5、然后通过if语句实现值大小的比较。6、输出最后的结果。7、编译、运行,可以看见按先小后大的顺序输出a和b。

求一个C语言程序题:编写一个函数SWAP()实现交换两个数位置的功能
void swap(int *p, int *q);\/\/用传地址的方法交换 void main(){ int i, j;scanf("%d%d", &i, &j);\/\/从键盘输入两个交换的数 swap(&i, &j);\/\/传入i,j的地址 printf("i = %d, j = %d\\n", i, j);\/\/输出交换后的两个值 } void swap(int *p, int *q){ int temp;...

c语言中,实现数组a和数组b的互换。
在c语言中,要实现数组a和数组b的互换,需要以下四个步骤:1、首先声明数组a和数组b,并定义相关大小 2、根据大小,输入相关数据 3、(重点)利用for循环遍历,并使用中间变量temp交换a数组和b数组的元素 4、输出所有元素 源代码如下:include <stdio.h> include <stdlib.h> define MAX 10 void ...

C语言指针问题~ 交换 a 和 b的值 为什么在swap里面交换地址运行以后a...
所以说你的函数 void swap(int *pa, int *pb) 指针 p1,p2代入后会生成2份拷贝 pa,pb pa保存的值是p1的值,也就是a的地址,pb保存的值是p2的值,也就是b的地址。所以接下来针对pa和pb进行的值交换操作,其结果只是让pa保存了b的地址,pb保存了a的地址,pa和pb在函数结束调用后,生命周期...

C语言求过程 翻译清楚一点
具体来说就是:scanf让用户输入两个整型数值a、b 执行if判断,如果a>b,则执行{}内语句。这里的temp是个中间变量,a、b交换时,a的值赋给temp,然后b赋给a,这时如果没有这个中间变量是没有办法完成的,a的值已经变成了b的。所以这里使用了temp,它保留了a原有的值,最后把它赋给b,完成交换。输...

用C++编写一个C程序,输入a,b,c,3个值,输出其中最大者
程序如下:include <stdio.h> int main(){ int a,b,c,Max;printf("请输入3个数:\\n");scanf("%d%d%d",&a,&b,&c);Max=a>b?(a>c?a:c):(b>c?b:c);printf("3个数中最大值为:%d\\n",Max);return 0;}

C语言问题 输入a,b,c三个整数 按大小输出程序问题
这个排序思路大概是先通过两次比较找出最大值排第一位,然后剩下两个数比较一次找出最小值放最后 指针也是变量。交换变量的数值就像交换坑里的萝卜,拔出萝卜a放一边空个坑塞进萝卜b,再把萝卜a塞进空坑。还有“例如 a=1 b=2 a=x a=b b=x 互换结果b=1 a=2”中的a=x是不对的,等号...

相似回答