C语言程序设计实验报告
实验名称 指针
学 院 机械工程与自动化 专业班级 机械 1003
姓 名 学 号
任课教师 实验时间
1 实验目的
(1)掌握指针的概念,会定义和使用指针变量;
(2)能正确使用变量的指针和指向变量的指针变量;
(3)能正确使用数组的指针和指向数组的指针变量;
(4)能正确使用字符串的指针和指向字符串的指针变量;
2 实验内容
将一个任意整数插入到已排序的整形数组中,插入后,数组中的数仍然保持有序;
要求:
(1)整形数组直接由赋值的方式初始化,要插入的整数有 scanf() 函数数入;
(2)算法实现过程采用指针进行处理;
(3)输入原始数据以及插入整数后的数据,并加以说明;
3 算法描述流程图
开始
定 义 变 量
a[100],m,i,*p,n,w;
输入数组 a[n],n
p=a;
*p
w=*p
i=i+1
i=n-1;
a[i]>w;
a[i+1]=a[i];i=i-1; a[i-1]=m
;
输出数组 a[];
结束
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("\