A. C语言用函数如何实现两个数交换
#include"stdio.h"int swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}
main(){int x,y;printf("请输入x与y的值,用空格隔开 ");scanf("%d%d",&x,&y);printf("x=%d,y=%d ",x,y);swap(&x,&y);printf("交换后 x=%d,y=%d ",x,y);}
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
B. 在汇编语言中怎样实现两个数互换
交换AX和BX的数据,用以下4种方法可以实族庆型现:
第一种:将中间变量存储于栈中:
SSEG SEGMENT STACK
DB 32 DUP (?)
SSEG ENDS
CSEG SEGMENT
assume CS:CSEG, SS:SSEG
Main: mov AX, SSEG
mov SS, AX
mov SP, 32h ; 初始化栈段及栈指针
mov AX, xxx
mov BX, yyy ; 分别设置AX和BX的值
push AX
push BX
pop AX
pop BX
mov AH, 4ch ; 21h中断,返回DOS
int 21h
CSEG ENDS
END Main
第二种:使用中间变量存储
DSEG SEGMENT
Value DB 16 DUP (?)
DSEG ENDS
CSEG SEGMENT
assume CS:SCEG, DS:DSEG
Main: mov AX, DSEG
mov DS, AX
mov SI, OFFSET Value ; 设置DS:SI指向中间变量
mov WORD PTR [SI], AX ; AX -> Value
mov AX, BX ; BX -> AX
mov BX, WORD PTR [SI] ; Value -> BX
mov AH, 4ch
int 21h
CSEG ENDS
END Main
第三种:直接使用xchg交换指令
CSEG SEGMENT
assume CS:CSEG
Main: mov AX, xxx
mov BX, yyy
xchg AX, BX
mov AH, 4ch
int 21h
CSEG ENDS
END Main
第四兆猜种,直接在通用寄存器中交换
CSEG SEGMENT
assume CS:CSEG
Main: mov AX, xxx
mov BX, yyy
mov CX, AX
mov AX, BX
mov CX, BX
mov AH, 4ch
int 21h
CSEG ENDS
END Main
注意:代码没有显示功能,而且在调用DOS中断时,AH的值已经更改。故编译连接后,只能在debug下查差空看运行结果。
C. 用c++做交换两个数的值
首先启动vb6,执行文件-新建工程命令,在弹出的新建工程对话框中选择标准exe文件。
进入窗体,选择form1拖动周边调节窗体的大小,直至自己认为合适为止。
选择form1,在属性对话框中修改caption属性值为“交换两个变量的值”,修改boderstyle属性值为4-fixed。
在窗体上创建一个fram1对象,修改其caption属性值为无,调节其大小并使它填充整个窗体。
接着在fram上创建两个按钮控件,调整他们的位置,修改command1的caption属性值为“方法一”,修改command2的caption属性值为“方法二”。
在frame1中创建一个标签对象,修改caption属性值为“交换两个变量的值”,设置font属性,字体为王羲之书法字体,字号为二号。
双击command1进入代码区域,在代码区域中对象选择command1,过程选择click,然后输入代码为:
Dim a As Integer, b As Integer, c As Integer
a = Val(InputBox("输入a"))
b = Val(InputBox("输入b"))
Me.Print "交换前:a= "; a, "b="; b
c = a
a = b
b = c
MsgBox "交换后a=" & a & "b=" & b, vbOKOnly, "交换结果"
接着双击command2,进入代码区域,输入代码为:
Dim X, Y As Integer
X = Val(InputBox("请输入x的值!"))
Y = Val(InputBox("请输入y的值!"))
X = X + Y
Y = X - Y
X = X - Y
Print X, Y
点击工具栏中的启动按钮进行程序代码搭型的编译,根据错误提示进行修改程序,直至无误并且实现预先功能为止。
程序检测完毕后,执行文件-保存工程命令,在弹出对话框中点击保存,先保存窗体,再保存工程。
接着执行文件-生成工程.exe命令,在弹出对话框中输入名称为“交换两个变量的值”,保存位置为桌面,这样信正就生成了可执行文件知坦猜。
D. 在C语言中如何将两个数进行互换
方法 1:(引进变量)
可以认枝陪为a、b、c各占一个小肢旦格,小格里可以放入数字。具体步骤为:
程序如下:
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d",&历搭扰a,&b);
c=a;
a=b;
b=c;
printf("a=%d b=%d ",a,b);
return 0;
}
方法 2:()
两个数的互换可以用式子:
a=b-a;b=b-a;a=b+a;来实现。
程序如下:
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",a,b);
a = a + b;
b = a - b;
a = a - b;
printf("a=%d,b=%d", a, b);
return 0;
}
方法 3:(指针)
程序如下:
#include<stdio.h>
int fun(int *p, int *q)
{
int tmp = *p;
*p = *q;
*q = tmp;
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d,%d ", a, b);
fun(&a, &b);
printf("%d,%d ", a, b);
return 0;
}
E. 如何用c语言求输入两个整数a和b,交换他们的位置,然后输出
# include <液猛stdio.h>
int main(void)
{
int a,b,c;
printf("扒枣请输入整数a:\n");
scanf("%d",&a);
printf("请输入整数b:\n");
scanf("%d",&b);
printf("你输入的数是a:%d\tb:%d\n",a,b);
c=a;
a=b;
b=c;
printf("它们交换位置后春埋拆是a:%d/tb:%d\n",a,b);
retrun 0;
}
F. 在C语言中如何将两个数进行互换
将两个数进行互换的方法有两种形式:
1、借助中间变量完成,此方法直观,易理解,使用最多
2、不需要中间变量,通过变量身的运算完成交换。
参考代码:
方法1:
inta=2,b=3,t;
t=a;//先将a存储到临时变量t中
a=b;//将b存储到a中
b=t;//将临时变量中的原a值存储到b中
printf("a=%db=%d ",a,b);
方法2:
inta=2,b=3,t;
a+=b;//把两数之和存到a中
b=a-b;//用两数和减去b可得原a,存储到b中
a=a-b;//因为b现在是原a值,所以,用两数和减去b(原a)可得原b,存储到a中
此方法,还可以用异或运算来实现,原理相同。
G. 求一个C语言程序题:编写一个函数SWAP()实现交换两个数位置的功能
#include <stdio.h>
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;//定义临时变量 存放中间值
temp = *p;
*p = *q;
*q = temp;
}
注意:不能直接塌昌写void swap(int i, int j);
因为或旦那只是临时变量,函数调用完后,便释放空间,两个值并没有交换。
H. 编程 输入两个正整数,要求互相交换位置后输出
#include<stdio.h>
int main()
{
int i, j, k;
printf("请输入第一个数");
scanf("%d", &i);
printf("请输入第二个数");
scanf("%d", &j);
printf("交换前第一个数%d第二个数为%d\n", i, j);
k = i;
i = j;
j = k;
printf("交换后第一个数%d第二个数为%d\n", i, j);
return 0;
}
//这是c语言
//大概就是这样吧