数组中内容(数字,字符,字符串)交换,不引用第三变量
来源:互联网 发布:淘宝女式大衣 编辑:程序博客网 时间:2024/06/05 12:46
//数组中数字交换
#include<stdio.h>
#include<stdlib.h>
#define n 5
void put(int arr[],int i);
void change(int arr1[],int arr2[]);
void out(int arr[]);
int main()
{
int arr1[n],arr2[n];
int i=0;
//输入
printf("输入数组1的%d个数:\n",n);
put(arr1,i);
printf("输入数组2的%d个数:\n",n);
put (arr2,i);
#include<stdio.h>
#include<stdlib.h>
#define n 5
void put(int arr[],int i);
void change(int arr1[],int arr2[]);
void out(int arr[]);
int main()
{
int arr1[n],arr2[n];
int i=0;
//输入
printf("输入数组1的%d个数:\n",n);
put(arr1,i);
printf("输入数组2的%d个数:\n",n);
put (arr2,i);
change(arr1,arr2,i);
printf("交换后结果:\n");
//输出
printf("\n数组1:");
out (arr1);
printf("\n数组2:");
out (arr2);
system("pause");
return 0;
}
printf("交换后结果:\n");
//输出
printf("\n数组1:");
out (arr1);
printf("\n数组2:");
out (arr2);
system("pause");
return 0;
}
void change(int arr1[],int arr2[],int i)
{
//使用第三变量
int temp=0;
for(i=0;i<n;i++)
{
temp=arr1[i];
arr1[i]=arr2[i];
arr2[i]=temp;
}
{
//使用第三变量
int temp=0;
for(i=0;i<n;i++)
{
temp=arr1[i];
arr1[i]=arr2[i];
arr2[i]=temp;
}
/*
//使用异或运算
for(i=0;i<n;i++)
{
arr1[i]=arr1[i]^arr2[i];
arr2[i]=arr1[i]^arr2[i];
arr1[i]=arr1[i]^arr2[i];
}
*/
}
void out(int arr[])
{
int i=0;
for(i=0;i<n;i++)
{
printf(" %d ",arr[i]);
}
}
{
int i=0;
for(i=0;i<n;i++)
{
printf(" %d ",arr[i]);
}
}
void put (int arr[],int i)
{
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
}
{
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
}
//引深
//数组中字符和字符串交换
#include<stdio.h>
#include<stdlib.h>
#define N 5
void put(char arr[],int i);
void change(char arr1[],char arr2[],int i);
void out (char arr[],int i);
int main()
{
char arr1[N],arr2[N];
int i=0;
char arr3[N]={"abc"};
char arr4[N]={"def"};
printf("交换前,字符串1:%s\n字符串2:%s\n",arr3,arr4);
for(i=0;i<N;i++)//字符串交换
{
arr3[i]=arr3[i]^arr4[i];
arr4[i]=arr3[i]^arr4[i];
arr3[i]=arr3[i]^arr4[i];
}
printf("交换后,字符串3:%s\n字符串4:%s\n",arr3,arr4);
printf("\n**************************\n");
//输入
printf("输入数组1的%d个字符:\n",N);
put(arr1,i);
printf("输入数组2的%d个字符:\n",N);
put (arr2,i);
#include<stdio.h>
#include<stdlib.h>
#define N 5
void put(char arr[],int i);
void change(char arr1[],char arr2[],int i);
void out (char arr[],int i);
int main()
{
char arr1[N],arr2[N];
int i=0;
char arr3[N]={"abc"};
char arr4[N]={"def"};
printf("交换前,字符串1:%s\n字符串2:%s\n",arr3,arr4);
for(i=0;i<N;i++)//字符串交换
{
arr3[i]=arr3[i]^arr4[i];
arr4[i]=arr3[i]^arr4[i];
arr3[i]=arr3[i]^arr4[i];
}
printf("交换后,字符串3:%s\n字符串4:%s\n",arr3,arr4);
printf("\n**************************\n");
//输入
printf("输入数组1的%d个字符:\n",N);
put(arr1,i);
printf("输入数组2的%d个字符:\n",N);
put (arr2,i);
change(arr1,arr2,i);
printf("交换后字符结果:\n");
//输出
printf("\n数组1:");
out (arr1,i);
printf("\n数组2:");
out (arr2,i);
printf("交换后字符结果:\n");
//输出
printf("\n数组1:");
out (arr1,i);
printf("\n数组2:");
out (arr2,i);
system("pause");
return 0;
}
return 0;
}
void put (char arr[],int i)
{
//printf("输入数组1中的%d个变量\n",N);
for(i=0;i<5;i++)
{
scanf("%c",&arr[i]);//连续从缓冲区读取所有字符
//不加getcher()函数读取一个字符,字符应连续输入,不可用空格和回车(因为其也算字符)
getchar();
}
{
//printf("输入数组1中的%d个变量\n",N);
for(i=0;i<5;i++)
{
scanf("%c",&arr[i]);//连续从缓冲区读取所有字符
//不加getcher()函数读取一个字符,字符应连续输入,不可用空格和回车(因为其也算字符)
getchar();
}
}
void change(char arr1[],char arr2[],int i)
{
for(i=0;i<N;i++)//字符串交换
{
arr1[i]=arr1[i]^arr2[i];
arr2[i]=arr1[i]^arr2[i];
arr1[i]=arr1[i]^arr2[i];
}
}
{
for(i=0;i<N;i++)//字符串交换
{
arr1[i]=arr1[i]^arr2[i];
arr2[i]=arr1[i]^arr2[i];
arr1[i]=arr1[i]^arr2[i];
}
}
void out (char arr[],int i)
{
for(i=0;i<N;i++)
{
printf(" %c ",arr[i]);
}
}
{
for(i=0;i<N;i++)
{
printf(" %c ",arr[i]);
}
}
阅读全文
0 0
- 数组中内容(数字,字符,字符串)交换,不引用第三变量
- 不借助第三个变量实现两个变量的交换(数字或者字符串)
- 交换两个变量,而不引用第三个变量
- 变量交换内容不使用第三方变量总结
- 交换两个数的值,不引用第三个变量
- 两数字交换 不借助第三方变量
- 不利用第三个变量交换两个数字的值
- JS数组&两值交换不使用第三变量
- C程序中交换两个变量数值,不使用第三方变量(四种方式)
- 如果不引用第三个变量,就能直接交换两个变量的值?
- php中字符串引用变量或数组
- java中两个字符交换内容(可用于字符串反转)
- java中两个字符交换内容(可用于字符串反转)
- 交换两个数(不引入第三个变量)
- 两个整数交换(不引入第三个变量)
- 两个数字交换(不使用临时变量)
- 不使用第三个变量的情况下交换两个变量中存储的值(Java)
- 不使用第三个变量,交换值
- Maven仓库分类
- Oracle误删数据恢复方法总结
- CodeForces
- java多线程线程池
- git常用命令,分支操作,子模块
- 数组中内容(数字,字符,字符串)交换,不引用第三变量
- 修改maven的默认jdk版本
- TLPI-Chapter 3系统编程概念
- java多线程基础
- 笔试题
- ---coc(clash of clan阵型分析)---
- 2017年9月21日之首
- 谈谈线程池的使用
- 最大子阵和(百度2017秋招真题)