C语言指针实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计实验报告

1实验目的

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

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

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

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

2实验内容

将一个任意整数插入到已排序的整形数组中,插入后,数组中的数仍然保持有序;要求:

(1)整形数组直接由赋值的方式初始化,要插入的整数有scanf()函数数入;(2)算法实现过程采用指针进行处理;

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

3算法描述流程图

4源程序

#include

main()

{

int a[100],m,i,*p,n,w;

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实验心得

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

相关文档
最新文档