c语言 将变量A和B的值进行互换 的程序 20

俺是新手.老师给的作业完全不会做.!!!!!问题是我是一个新手.完全不懂...好多都不知道是什么意思.我想看别人已经做好的程序慢慢琢磨琢磨...最后.我是女生.体谅体谅.... 俺是新手.老师给的作业完全不会做.!!!!!
问题是我是一个新手.完全不懂...
好多都不知道是什么意思.
我想看别人已经做好的程序慢慢琢磨琢磨...
最后.我是女生.体谅体谅..
我想要那种连#include都有的全部程序内容...

你们的都有问题.编译不成功.所以不选最佳答案.哈哈
展开
 我来答
知识慧
推荐于2019-08-24 · TA获得超过4526个赞
知道答主
回答量:0
采纳率:50%
帮助的人:0
展开全部

代码如下:#include<stdio.h>


#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)     //使用位运算也可以交换两个值


{


a = a^b;


b = a^b;


a = a^b;


}

void main1mianshiti7()


{


int a1 = 1, b1 = 2;


int a2 = 10, b2 = 15;


int a3 = 78, b3 = 90;


int a = 2147483647, b = 1;


printf("a1=%p,b1=%p", &a1, &b1);


swap1(a1, b1);


swap2(a2, b2);


swap3(a3, b3);


printf("swap after~~~~~~~~~~~~~\n");


printf("a1=%d,b1=%d\n", a1, b1);


printf("a2=%d,b2=%d\n", a2, b2);


printf("a3=%d,b3=%d\n", a3, b3);


swap2(a, b);


printf("a=%d,b=%d\n", a, b);


system("pause");


}

源代码截图:

参考资料:百度百科-网页链接

扩展资料:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

weng_weijie
2017-08-19 · TA获得超过209个赞
知道答主
回答量:29
采纳率:66%
帮助的人:8.1万
展开全部
#include<stdio.h>
int a,b;
void swap()
{
int t;//我们创建一个临时变量用来交换变量的值
//先假设a = 1,b = 2
t = a;//此时t = 1,a = 1,b = 2
a = b;//此时t = 1,a = 2,b = 2
b = t;//此时t = 1,a = 2,b = 1
//完成了交换
}
int main(){
scanf("%d%d",&a,&b);
swap();
printf("a = %d , b = %d\n",a,b);
return 0;
}

这是最基础的交换代码,创建一个临时变量来交换

事实上,还有一种交换方法:

#include<stdio.h>
int a,b;
void swap()
{
        //假设 a = 1,b = 2
a = a + b;//此时 a = 3,b = 2
b = a - b;//此时 a = 3,b = 1
a = a - b;//此时 a = 2,b = 1
//交换完成
}
int main(){
scanf("%d%d",&a,&b);
swap();
printf("a = %d , b = %d\n",a,b);
return 0;
}

先给a赋值成a+b

之后把b变成"a"-b也就是a+b-b=a

最后把a变成"a"-"b"也就是a+b-a=b

实现了交换

以上就是如何交换变量的方法

若我的回答对你有帮助,请采纳,若有问题可以追问我

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
推荐于2019-09-19 · TA获得超过4404个赞
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:100万
展开全部

老规矩,先给代码

#include<stdio.h>

int 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);}

这道题关键是利用第三者作为介质进行数据交换

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thesola
推荐于2018-03-04 · 超过12用户采纳过TA的回答
知道答主
回答量:36
采纳率:100%
帮助的人:6万
展开全部

介绍两种常用的值互换方法

// 方法1 使用临时变量的方法
void swap(int *a, int *b){
    int t = *a;    // 将a指向的值存入 t
    *a = *b;    // 将b指向的值存入 a
    *b = t;    // 将a原本的值存入 b
}

// 方法2 不使用临时变量的方法
void swap(int *a, int *b){
    *a = *a ^ *b ; // 将二者的异或值存入a指向的值
    *b = *a ^ *b ; // b = a^b^b 即 b = a
    *a = *a ^ *b ; // a = a^b^a 即 a = b
}

关于异或操作请移步:https://zhidao.baidu.com/question/77719406.html?fr=iks&word=%D2%EC%BB%F2%B2%D9%D7%F7&ie=gbk

对于追求致简的同学来说,方法2可以利用括号来用一行代码实现:

// 致简(抽风)式写法
void swap(int *a, int *b){
    *a ^= (*b = (*a ^= *b) ^ *b);
}

对于以上三种写法完整的程序格式如下:

#include<stdio.h>

void swap(int *a, int *b);

int main(void){

    int a = -2, b = 3; // 可以更改不同的值来测试程序是否有问题
    
    printf("a=%d b=%d\n", a, b);
    swap(&a, &b);
    printf("a=%d b=%d\n", a, b);

    return 0;
}

void swap(int *a, int *b){
    // 此处填上上述三种写法其一
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
键盘雀跃
2010-10-22 · TA获得超过981个赞
知道小有建树答主
回答量:1546
采纳率:0%
帮助的人:482万
展开全部
#include <stdio.h>

void main(void)
{
int a,b,c;

printf("please input a= b=\n");
scanf("%d%d",&a,&b);
c=a;
a=b;
b=c;
printf("a=%d,b=%d\n",a,b);

return;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式