- 博客(6)
- 收藏
- 关注
原创 如何在不使用中间变量的情况下交换两个数?
使用^(异或)符号,^符号通常用于位运算。 当两个位相同时^运算为0,不相同时为1; 对于三个数,^运算满足交换律:(a^b)^c=a^(b^c); 因此我们可以使用异或运算进行两个数的交换,代码实现如下: public static void swap(int i,int j) { i=i^j; j=i^j; i=i^j; } 现在进行逐段分析: 第一段: i=i^j; 假设i为a,j为b,则i临时被赋值为a^b 第二段: j=i^j; 因为在第一段里i已经被赋值
2021-12-14 19:42:25
912
原创 C语言练习:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
#include <stdio.h> void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } int main() { int a[5]={12,123,4,65,21}; int max=a[0]; int min=a[0]; int i,m,n; for(i;i<5;i++){ if(a[i]>max){ .
2021-10-11 19:54:23
3522
原创 c语言实例:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
#include<stdio.h> int main() { int a[11]={1,4,6,9,13,16,19,28,40,100}; int m,i,j,k,b; scanf("%d",&m); for(i=9;i>=0;i--){ if(m>a[i]){ b=i; break; } } for(j=10;j>b;j--){.
2021-10-10 16:16:11
4418
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅