编写一个交换变量值的函数,利用该函数交换数组a和数组b中的对应元素值。要求尽量用指针的方法实现。

2024-12-02 19:37:01
推荐回答(3个)
回答1:

#include

#include

void ex(int *a, int *b, int n){

int i,tmp;

for (i=0;i

tmp=a[i];a[i]=b[i];b[i]=tmp;

}

}

void main()

{

int x[5]={1,2,3,4,5};

int y[5]={6,7,8,9,10};

int i,n=5;

ex(x,y,n);

printf("\n X: ");

for (i=0;i

printf("\n Y: ");

for (i=0;i

system("pause");

}

扩展资料:

system函数用法:

用法:intsystem(char*command);

程序例:

#include<stdlib.h>

#include<stdio.h>

intmain(void)

printf("AbouttospawnandrunaDOScommand\n");

system("dir");

return0;

又如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。

例如,用system("color0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色7=白色8=灰色9=淡蓝色A=淡绿色B=淡浅绿色C=淡红色D=淡紫色E=淡黄色F=亮白色

(注意:MicrosoftVisualC++6.0支持system)

颜色属性由两个十六进制数字指定--第一个对应于背景,第二个对应于前景。每个数字

可以为以下任何值:

0=黑色8=灰色

1=蓝色9=淡蓝色

2=绿色A=淡绿色

3=浅绿色B=淡浅绿色

4=红色C=淡红色

5=紫色D=淡紫色

6=黄色E=淡黄色

7=白色F=亮白色

回答2:

for(p=a,q=b;p
我觉得如果用数组加一个循环变量实现的话会清楚不少的:

int exchange(int *a,int *b)
{ int i,m;
for(i=0;i < 10;i++)
{m=a[i];a[i]=b[i];b[i]=m;}
}

回答3:

#include
void main()
{
int a[10],b[10],i;
void exchange(int *a,int *b);
printf("please enter a[10]:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("please enter b[10]:\n");
for(i=0;i<10;i++)
scanf("%d",&b[i]);
exchange(a,b);
}

void exchange(int *a,int *b)
{ int i,m,ex[10];
for(i=0;i<10;i++)
{ex[i]=*(a+i);*(a+i)=*(b+i);*(b+i)=ex[i];}
for(i=0;i<10;i++)
printf("%d ",*(a+i));
printf("\n");
for(i=0;i<10;i++)
printf("%d ",*(b+i));
printf("\n");
}