❶ c语言用函数如何实现两个数交换
#include"stdio.h"int swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}
main(){int x,y;printf("请输入x与y的值,用空格隔开 ");scanf("%d%d",&x,&y);printf("x=%d,y=%d ",x,y);swap(&x,&y);printf("交换后 x=%d,y=%d ",x,y);}
(1)c语言两组数组的交换扩展阅读:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
❷ C语言,定义函数交换字符串数组
C语言中交换两个字符串需要借助strcpy函数或者使用自定义交换函数进行交换
如交换a,b数组中的字符串代码:
char a[10] = "abed", b[10] = "efg", t[10];strcpy(t, a);//a复制给tstrcpy(a, b);//b复制给astrcpy(b, t);//t复制给b
附:strcpy函数详情
原型声明:
char *strcpy(char* dest, const char *src);
头文件:
#include <string.h> 和 #include <stdio.h>
功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。
❸ c语言中两个数组表格怎样互相转换
定义一个structcjtemp;然后就直接交换啊。 ❹ c语言怎么实现两个数据交换
将两个数进行互换的方法有两种形式: ❺ c语言中有没有交换两个数组中内容的函数 使用memcpy直接将数组中的数据进行交换。 ❻ C语言中实现两个一维数组间元素的交换
#include<stdio.h> ❼ c语言数组元素交换问题 数组交换的swap函数中 ❽ 用swap交换两个数组的c语言程序
我把那块做成函数,楼主直接调用吧,主函数就没写完整了。#include
1、借助中间变量完成,此方法直观,易理解,使用最多
2、不需要中间变量,通过变量身的运算完成交换。
inta[100],b[100];
intt[100];
memcpy(t,a,sizeof(a));
memcpy(a,b,sizeof(b));
memcpy(b,t,sizeof(t));
#define N 5
void main()
{
int a[N],b[N],c;
int i;
printf("请输入a数组元素:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("请输入b数组元素:\n");
for(i=0;i<N;i++)
scanf("%d",&b[i]);
printf("搜搏胡交银州换后的数组元素为:\n");
for(i=0;i<N;i++)
{
c=a[i];
a[i]=b[i];
b[i]=c;
}
for(i=0;i<N;i++)
printf("%3d",a[i]);
printf("\n");
for(i=0;i<世拦N;i++)
printf("%3d",b[i]);
printf("\n");
}
//不懂得可以继续问
voidSWAP(double*a,double*b)//用于交换数组的元素
{
doubletemp;
temp=*a;
*a=*b;
*b=temp;
}
你传进去的是double*a
但你定义的是doubletemp
类型都不一样怎么赋值!!亲测有效,形式参数必须为指让缓辩针哪竖,实际参数坦缺为两个数组首地址(数组名即首地址)
voidswap_array(int*pa,int*pb);
main(){
intx[]={0,1,2,3,4};
inty[]={5,6,7,8,9};
swap_array(x,y);
inti;
for(i=0;i<5;i++)
printf("%d",x[i]);
printf("
",x[i]);
for(i=0;i<5;i++)
printf("%d",y[i]);
scanf("%d",&i);
}
voidswap_array(int*pa,int*pb){
intn;
n=sizeof(pa);
intc;
inti;
for(i=0;i<=n;i++){
c=*pa;
*pa=*pb;
*pb=c;
++pa;
++pb;}
}
❾ C语言如何将二维数组中两个元素交换位置
可以让数组进行转置来实现,参考如下:
public class TestTransposition {
int col;
int row;
/**转换方法 将一个数组进行转置
* 原理很简单
*
* @param input
* @return
*/
public int[][] trans(int[][] input) {
int[][] output = null;
row = input.length;
if (row $amp;>amp;$nbsp;0) {
col = input[0].length;
}
output = new int[col][row];
for (int i = 0; i $amp; for (int j = 0; j $amp; output[j][i] = input[i][j];
}
}
return output;
}
public static void main(String[] args){
//若是需要得到转置数组,应该调用上面的转置方法
// int[][] in={{1,2,3},{3,4,5}};
// int[][] out=new TestTransposition().trans(in);
// for (int i = 0; i $amp; // for (int j = 0; j $amp; // System.out.print(out[i][j]);
// }
// System.out.println("");
// }
//若只是想输出得到效果 这应该是可以的
int[][] in={{1,2,3},{3,4,5}};
for(int i=0;i<in[0].length;i++){
for(int j=0;j<in.length;j++){
System.out.print(in[j][i]);
}
System.out.println("");
}
}
/*a[2][3]---->a[3][2]
* a[0][0]---->a[0][0]
* a[0][1]---->a[1][0]
* a[0][2]----->a[2][0]
* a[1][0]---->a[0][1]
* a[1][1]---->a[1][1]
* a[1][2]----->a[2][1]
*/
//故此 初步想法应是通过反向循环,即先循环列,在循环行来实现。
}
❿ c语言怎样交换两个数组 用swap函数
void swap_array(int *pa,int *pb);
main(){
int x[]={0,1,2,3,4};
int y[]={5,6,7,8,9};
swap_array(x,y);
int i;
for(i=0;i<5;i++)
printf("%d",x[i]);
printf("\r\n",x[i]);
for(i=0;i<5;i++)
printf("%d",y[i]);
scanf("%d",&i);
}
void swap_array(int *pa,int *pb){
int n;
n= sizeof(pa);
int c;
int i;
for(i=0;i<=n;i++){
c=*pa;
*pa=*pb;
*pb=c;
++pa;
++pb;}
}