C语言指针实验报告

C语言指针实验报告
C语言指针实验报告

C语言程序设计实验报告

1实验目的

(1)掌握指针的概念,会定义和使用指针变量;

(2)能正确使用变量的指针和指向变量的指针变量;

(3)能正确使用数组的指针和指向数组的指针变量;

(4)能正确使用字符串的指针和指向字符串的指针变量;

2实验内容

将一个任意整数插入到已排序的整形数组中,插入后,数组中的数仍然保持有序; 要求:(1)整形数组直接由赋值的方式初始化,要插入的整数有seanf()函数数入; (2)算法实现过程采用指针进行处理;

(3)输入原始数据以及插入整数后的数据,并加以说明;

3算法描述流程图

i=i+1

4源程序

#in clude<> mai n()

{ printf(" 请输入要输入的数组的元素个数:\n"); scanf("%d",&n);

printf(" 请输入已排好序的数组:\n");

for(i=0;i

{ scanf("%d",&a[i]);

}

printf(" 请输入要插入的数:\n"); scanf("%d",&m);

p=a;

while(*p

p++;

w=*p;

for(i=n-1;a[i]>=w;i--)

{

a[i+1]=a[i];

}

a[i+1]=m; for(i=0;i<=n;i++)

{ printf("%-4d",a[i]);

} printf("\n");

}

5测试数据

“ 1,3,5,7,9,11,13,15,17,19 ..... 10”

6运行结果

7出现问题及解决方法

在编写过程中,

for(i=n-1;a[i]>=w;i--)

{

a[i+1]=a[i];

}

a[i+1] =m;

这一步没有注意a[i++]=m和a[i+1]=m中i++和i+1不同,a[i++]=m是先将的值赋给a[i],然后在执行自增; 而在实验过程中忽略了这一点,造成了不必要的麻烦;

8实验心得

通过这次指针实验掌握了指针的概念,会定义和使用指针变量,并且能利用指针来简单化一些问题,给以后的编程带来了很大的便利;

相关主题
相关文档
最新文档