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