c语言程序设计第七章实验,《经典规范C语言程序设计》实验报告(第七章).doc

《经典规范C语言程序设计》实验报告(第七章)

《高级语言程序设计》实验报告

班级: 学号: 姓名: 成绩:

实验日期: 年 月 日

实验题目: 实验七 指针程序设计实验目的:

实验内容:(包括算法说明:用文字或流程图说明;程序清单;运行结果:原始数据、相应的运行结果和必要的说明。)

原始数据、相应的运行结果和必要的说明。

原始数据、相应的运行结果和必要的说明。

分析与思考:(调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会)

1

1.改错题1)下列程序的功能为:统计将已知字符串中数字符的个数.c存盘。

#include

int digits(char *s)

{int c=0;

while(s)

{

if(*s >=0&&*s <=9)

c++;

s++;

}

return c;

}

void main()

{

char s[80];

printf("请输入一行字符\n");

gets(s);

printf("字符长度是:%d\n",digits(s));

}

2.程序填空

计算数组中的最大元素及其下标值和地址值

#include

int findmax(int *s,int t )

{

int i,k=0;

for(i=0; ;i++)

if( ) k=i;

return ;

}

void main()

{ int a[10]={12,23,34,45,56,67,78,89,11,22},k=0,*add;

int j;

for(j=0;j<10;j++)

printf("%4d%10xh\n",a[j],&a[j]);

k=findmax(a,10);

add=&a[k];

printf("\n%d %d %xh\n",a[k],k+1,add );

}

(2)下列程序的功能为:通过返回地址值,来输出a[2]~a[4]的值;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy7_5.c存盘。

#include

main()

{

int a[5]={1,3,5,7,9}; /* a是int数值的数组 */

int *num[5],i,*p; /* num是指向int类型的指针型数组,p是指向int型的变量 */

int *f(int *x[],int); /* 返回指针值的f函数的声明 */

for (i=0;i<5;i++)

num[i]= ; /* num的每个分量指向a的每个相应元素 */

p=f(num,2); /* 返回num[2]分量所指的数组a中的元素的地址 */

for ( ; p<=num[4]; p++) /* 在num[2]~num[4]地址范围内扫描 */

printf(" %d\t", ); /* 输出该地址范围内的数据 */

}

int *f(int *x[],int i)

{

int k=0;

for (; k

return ; /* 返回num[i]的所指的地址 */

}

(3)下列程序的功能为:通过指针变量的自增运算,扫描一维数组中全部元素的地址,并引用它们各自的值,同时对数组中的正整数求和。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy7_6.c存盘。

#include "stdio.h"

#define N 10

main()

{

int i,k,a[N],sum,count,*p; /* 所有变量和数组a的基类型都是int */

count=sum=0;

do

{ printf(" input k: \n");

scanf("%d",&k); /* 总共要求输入k个数 */

} while (k<=0||k>N); /* 直到型循环确保0≤k≤N */

printf(" input a[0]~a[%d]:\n",k-1);

for (p=a;p

{ scanf("%d", ); /* 此处的p等价于&a[i] */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值