- 博客(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
756
原创 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
3379
原创 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
4279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人