利用指针实现,定义一个整型的一维数组,包含10个元素,通过键盘向数组输入元素值,并输出出来

供稿:hz-xin.com     日期:2025-01-15
编写程序,定义一个包含10个整数的数组,利用指针,将数组中所有元素的值对称交换。

#include
int main()
{
int Ii = 0, Itemp;
int array_a[5] = {1,2,3,4,5};
int array_b[5] = {6,7,8,9,0};
int *a,*b;
a=array_a;
b=array_b;
while( Ii < 5 )
{
Itemp = *(a + Ii);
*(a + Ii) = *(b + Ii);
*(b + Ii) = Itemp;
Ii ++;
} Ii=0;
while(Ii < 5) // 交换后的a
{
printf("%d",array_a[Ii]);
Ii ++; }
printf("
");
Ii = 0;
while(Ii < 5) // 交换过的b
{
printf("%d",array_b[Ii]);
Ii ++;
}
}

/*还可以用起泡排序算法或者二叉排序等,
具体算法可以去看数据结构排序一章的内容*/
#include //简单选择排序
using namespace std;

int main()
{
int i,j,temp;
int a[10];
bool flag = true;//如果在9趟之前已经有序就不用再继续了
for(i = 0;i < 10;i++)//输入
cin>>a[i];
for(i = 0;i < 9;i++)//最多进行9趟
{
for(j = i+1;j < 10;j++)
if(a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
flag = false;
}
if(flag)
break;//跳出外层循环
flag = true;
}
for(i = 0;i < 10;i++)//输出
cout<<a[i]<<' ';
cout<<endl;
system("PAUSE");
return 0;
}

#include <stdio.h>
main()
{
int a[10],*p=a,i;
while(p<a+10) scanf("%d",p),p++; //指针实现
for(i=0;i<10;i++) printf("%d ",a[i]); //下标实现
}

在c语言中a是一个数组,*p=a+5有语法错误吗
这样a+5,根据C语言规则,指针加上常数后,类型不变,于是a+5的类型同样为P。于是,如果赋值表达式的左值,*p与a+5有着相同的类型,那么该语句就没语法错误,否则有语法错误。这样,如果p的类型是P*型,则没有语法错误。举例来说,如果a为整型一维数组int a[10]; 那么如果p的定义是int **型,...

C语言中如何将未知个数的数存放在一个数组中?
在C语言中数组的定义必须指明维数,即使没有指明维数,也必须进行初始化,编译器通过初始化列表中的元素个数来确定数组的维数,比如下面的代码:int a[] = {1,2,3};虽然没有指明数组的维数,但是编译知道数组a的维数是3(只有三个元素)。要实现未知个数的元素存储于数组中,可以使用malloc()和free...

c语言中怎样实现对二维数组元素进行赋值并输出。
1 定义二维指针。2 确定数组维数,即行数和列数。3 申请行数个一维指针大小空间,并赋值给二维指针。4 对于每个一维指,申请列数个元素的空间,并赋值给对应的一维指针。5 输入或赋值数据。6 使用双重循环,逐个范围存储单元并输出。7 逐个释放一维指针上的内存。8 释放二维指针上的内存。以整型二维...

c语言编写函数,用指针实现矩阵相加,并且将结果矩阵的指针作为函数返回值...
{ int **a=NULL;int i,j;a=(int **)malloc(row*sizeof(int *));for(i=0;i<row;i++)a[i]=(int *)malloc(col*sizeof(int));for(i=0;i<row;i++)for(j=0;j<col;j++)a[i][j]=x1[i][j]+x2[i][j];return a;} int main(){ int a[2][3]={{1,2,3},{4,...

c语言中 二维数组要怎么输入?怎么换行啊?
scanf那行里的a[i][j]要写成&a[i][j],输入就正常的输入就行了,其实scanf读入数字的时候,数字可以用空格、回车或者TAB间隔,比如说一个2x2的数组,你输入 10 11 12 13 或者输入10 11 12 13都是可以的。

c语言中如何通过二级指针来操作二维数组
1、首先我们打开电脑里的C语言软件,新建一个工程和.c文件,输入头文件和主函数。2、然后我们输入图示代码初始化数组,定义变量类型。3、然后我们输入图示代码用for语句实现数组的访问。4、然后我们输入图示代码进行输出。5、然后我们输入图示代码编译、运行,即可通过二级指针来操作二维数组。

如何用C++将vector数组定义成全局变量
一个分配器被vector所使用,标准库只有一些分配器的基本界面,要写自己的分配器,就几乎全都要自己实现如果用的是MinGW,可以这样写:include <array>#include <vector>#include <ext\/array_allocator.h>int *packaged_pointer;namespace gxx = __gnu_cxx;typedef gxx::array_allocator<int,std::...

c语言中怎样实现对二维数组元素进行赋值并输出。
用一个两重循环就可以了:#include <stdio.h>void main(){int a[3][4] = {0}, row, col;printf("请输入数组元素的值(3行4列): \\n");for (row=0; row<3; row++)for (col=0; col<4; col++)scanf("%d", &a[row][col]);printf("您输入的数组为:\\n");for (row=0; ...

c语言中如何得到任何一个类型的已赋值的数组的长度?
sizeof 获得的是一个指针的之所占的空间,应该是 长整型的,所以是4 sizeof(*ss) 结果 1 ===》*ss是第一个字符 其实就是获得了字符串的第一位'0' 所占的内存空间,是char类 型的,占了 1 位 strlen(ss)= 10 >>> 如果要获得这个字符串的长度,则一定要使用 strlen ...

C语言程序:求一个二维数组元素的周边之和
求一个二维数组元素的周边之和:源程序如下:define N 3\/\/宏定义N=3 include <stdio.h> void main(){ int number[N][N] = { {1,2,3},{4,5,6},{7,8,9} };\/\/定义二维数组并赋初值 int i, j;\/\/定义循环变量 int sum = 0;\/\/定义加和变量,并初始化赋值为0 for (i = 0;...