当前位置:首页 » 编程语言 » c语言中三个数字怎么互换
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中三个数字怎么互换

发布时间: 2022-05-18 21:48:05

① 求c语言中数字的二、八、十、十六进制相互转换

十进制转化二进制用2来辗转相除,直到结果为1,然后从最后的1开始,从下到上,把余数写出来就是对应的二进制,如130
130/2=65…0
65/2=32...1
32/2=16...0
16/2=8...0
8/2=4...0
4/2=2...0
2/2=1...0即10000010,下面说二进制转化为八进制、十六进制。如二进制的10110111011换成八进制时,从右到左,三位一组,不够左边补0,即成了,010
110
111
011然后每组三个数分别对应2^2,2^1,2^0(^代表幂)

② c语言中三个整型数a b c怎么进行值的互换

二个变量值的交换一般需借助于一个辅助变量来完成的。
int
a=3,b=4,t;
通过以下的三个语句就能把a,b的值互换(这种操作有点像把二个瓶里的液体交换时,要借助于一个空瓶):
t=a;
a=b;
b=t;
不太清楚什么是“a
b
c值的互换”。如果是要把a=1,b=2,c=3“轮换”为a=2,b=3,c=1的话,
那就用下面的语句实现:
t=a;
a=b;
b=c;
c=t;
如果是要把任意大小顺序的三个变量,通过交换变为从小到大排列,可以采用以下的程序段:
int
a,b,c,t;
scanf("%d
%d
%d",&a,&b,&c);
if(a>b){t=a;
a=b;
b=t;}
if(a>c){t=a;
a=c;
c=t;}
if(b>c){t=b;
b=c;
c=t;}
printf("从小到大的排列是:%d
%d
%d\n",a,b,c);

③ 在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中
此方法,还可以用异或运算来实现,原理相同。

④ 怎样用C语言交换a,b,c三个数

a与b换:
a=a^b;(按位运算)
b=a^b;
a=a^b;
b与c换
b=b^c;
c=b^c;
b=b^c;
这是最方便的了。

⑤ 在C语言中如何将两个数进行互换

定义 A ,B, C,
把A保存到C
把B保存到A
把C保存到B
这要就OK了!
int a, b , c;
c = a;
a = b;
b = c;

⑥ c语言中三个整型数a b c怎么进行值的互换

如果是要把三个整型数a,b,c的值,进行轮换,也就是把b的值放到a中,把c的值放到b中,把a的值放到c中,需要再增加一个临时变量t,采用下面的四个语句就可以实现。
t=a; a=b; b=c; c=t;

⑦ C语言文件中数字的替换问题

这是什么比方?文本文件还是二进制格式的文件?其中两个数字是怎样的判别方式?
我只能说,读取这个文件,判断是不是你需要的地方,如果不是,直接写入;是,替换了数据再写入

⑧ C语言数值的交换

楼上的这个
a = a+b;
b = a-b;
a = a-b;
是个方法,是符合我们数学思维的方法,也是最初接触C语言的人可能想到的方法。 但是这样编程很不直观,不如t=a;a=b;b=t;来得快。

似乎在C++中有swap(a, b)模板函数,直接实现a,b交换。

想玩高级一点的话,可采用“换标不换值”的方法,用数组元素作为数组的下标,这种方法换逻辑不换存储。

#include <stdio.h>
void main()
{
int a=10,b=20;
int array1[2] = {10,20}; //存a、b值
int array2[2] = {0,1}; //存下标
b = array1[array2[0]];
a = array1[array2[1]];
printf("a=%d, b=%d\n",a,b);
}

这个方法在对结构体数组值交换中非常好用!因为结构体数组一般每个成员都有很多个值,如:
struct student
{
int num;
double score;
char name[20];
}stu[5]={{1,98,"ziguowen"},{2,88,"dongda"},{3,78,"haha"}};

//交换stu[0]和stu[1],需要
int n;
double s;
char n[20];
n = stu[0].num; stu[0].num = stu[1].num; stu[1].num = n;
s = stu[0].score; stu[0].score = stu[1].score; stu[1].score = s;
strcpy(n, stu[0].name); strcpy(stu[0].name, stu[1].name); strcpy(stu[0].name,s);

//而用下标的话,一个赋值语句即可,直接交换stu[0] 和 stu[1] 下标后全部交换!

⑨ c语言 输入三个数的值实现第一个数和第三个数交换

//这样就可以了,输入三个整数,以空格间隔
#include<stdio.h>
intmain(){
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
inttmp=a;
a=c;
c=tmp;
printf("%d%d%d ",a,b,c);
return0;
}