当我们学完指针,知道每个数在内存中都占有一定的字节,也就是地址,才有取地址符号&,所以要交换两个数必须把这两个数所对应的内存互换,比如a=2;b=3;要让它们互换且输出,我们用一个函数来试试 1 #include "stdio.h" 2 int temp(int x,int y) 3 { 4 int
分类:
其他好文 时间:
2016-02-05 01:28:27
阅读次数:
130
交换两个数是在编程中经常会用到的,当然我们可以用很常见的方式来实现,也可以各种稀奇古怪的方法来做。这里我们用三种比较常规的方式来做,太过古怪的方法个人觉得没有太大必要。实例代码上传至:https://github.com/chenyufeng1991/SwapFunction(1)使用指针实现如下://
// main.c
// SwapFunc
//
// Created by cheny...
分类:
编程语言 时间:
2016-02-04 00:22:48
阅读次数:
220
算法思想:预处理输入的整数字符串,去掉开头的‘0’,然后减法操作,减法操作过程中,如果被减数小于减数,则交换两个数 赋值给被减数和减数变量,始终保持 大数减小数。最后 再 根据 是否交换赋值 来 确定正负。代码实现:#include#includeusing namespace std;//去掉字符...
分类:
其他好文 时间:
2016-01-16 21:05:39
阅读次数:
221
位运算可以大大减小算法空间复杂度,提高效率,很巧妙!先说一下位运算的简单用法1. 按位与 &用途:清零,取一个数中的某些指定位,保留一个数中的某些指定位2. 按位或 |用途:将一个数的某些位指定为13. 按位异或 ^用途:交换两个数a=a^b; b=a^b; a=a^b让我们看看这三条语句执行后的结...
分类:
其他好文 时间:
2016-01-08 11:41:47
阅读次数:
147
使用临时变量非常简单#include<stdio.h>intmain(){ inta=1,b=2,c=0; printf("a="); scanf("%d",&a); printf("b="); scanf("%d",&b); c=a; a=b; b=c; printf("a=%d,b=%d\n",a,b); system("pause"); return0;}这时候我考虑可不可以不加入临时变量而同样达到目的呢..
分类:
其他好文 时间:
2015-12-11 07:18:07
阅读次数:
124
交换两个数组的内容:#include<stdio.h>
intmain()//将数组A中的内容和数组B中的内容进行交换
{
inta[5]={1,2,3,4,5};
intb[5]={2,3,4,5,6};
inttmp;
inti;
printf("before:\n");
for(i=0;i<sizeof(a)/sizeof(a[0]);i++)
{
printf("%d",a[i]);
}
printf("\..
分类:
编程语言 时间:
2015-12-01 13:01:17
阅读次数:
201
今天上了C语言课,老师讲了有关交换两个数的问题。课后,经过自己的思考和总结,我得出了以下几种方法。虽然这个问题的方法还有很多,但我目前只了解到了这五种方法,希望大家多提建议和意见。其他的方法待补充奥。。。法一:大家最容易想的方法,首先设一个临时变量,利用临时..
分类:
其他好文 时间:
2015-11-29 06:59:23
阅读次数:
115
交换两个数组的内容:#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>intmain(){ intarr1[10]={1,2,3,4,5,6,7,8,9,0}; intarr2[10]={0,9,8,7,6,5,4,3,2,1}; inti=0; for(i=0;i<sizeof(arr1)/sizeof(arr1[0]);i++) { inttmp=arr1[i]; arr1..
分类:
编程语言 时间:
2015-11-05 00:56:19
阅读次数:
349
//交换内容,无临时变量(初)#include<stdio.h>
intmain()
{
inta=10;
intb=20;
a=a+b;
b=a-b;
a=a-b;
printf("a=%d\n",a);
printf("b=%d\n",b);
return0;
}
分类:
其他好文 时间:
2015-10-19 01:58:14
阅读次数:
131