C语言指针例题实验报告,C语言指针实验报告.docx

--

---

C语言程序设计实验报告

实验名称

指针

机械工程与自动化

专业班级

机械 1003

任课教师

实验时间

实验目的

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

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

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

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

实验内容

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

1)整形数组直接由赋值的方式初始化,要插入的整数有scanf() 函数数入;

2)算法实现过程采用指针进行处理;

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[];

结束

源程序

#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");

}

测试数据

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

运行结果

出现问题及解决方法

在编写过程中,

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] ,然后在执

行自增;而在实验过程中忽略了这一点,造成了不必要的麻烦;

实验心得

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值