第一范文网 - 专业文章范例文档资料分享平台

C语言程序设计实验与习题答案

来源:用户分享 时间:2025/7/10 17:16:57 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

...

2.程序填空

(1)以下程序的功能是利用指针找出

#include void main( )

{ int *p1,*p2,*p3,min,x,y,z; p1=&x; p2=&y; p3=&z;

3 个整数中的最小数。

printf( ″please input three integer: ″); scanf(″%d%d%d″,p1,p2,p3);

if(*p1>*p2)

;

//min=*p1

; ;

if(min>*p3)

//min=*p2

//min=*p3

printf( ″min=%d\\n ″,min);

}

(2)以下程序利用指向函数的指针实现函数调用,完成可选择 的加减乘除运算。

#include

/* 定义函数 add*/

int add(int x,int y) {

printf(\

/* 定义函数 sub*/

int sub(int x,int y)

{printf(\

/* 定义函数 mult*/

int mult(int x,int y) {

printf(\

/* 定义函数 dev*/

...

...

int dev(int x,int y) {

printf(\

void main() {

int (*funp)(int,int); char op;

int x,y;

printf(\

scanf(\

scanf(\

scanf(\

{case '+': funp=

case '-': funp=sub; case '*': funp=mult; case '/': funp=dev;

(op) ②

break; break; break;

//switch ;break;

//add

default: printf(\

}

printf(\

}

③ (x,y)); //funp

3.程序改错

(1)以下程序的功能是:输入 出。

#include void main() {int i1,i2,i3;

int *p1,*p2,*p3;

3 个整数,按由小到大的顺序输

void swap(int ,int ); ★

printf(\

// void swap(int *,int *)

scanf(\

//

...

...

scanf(\

p1=i1;p2=i2;p3=i3; p1=&i1;p2=&i2;p3=&i3;

if(i1>i2) swap(p1,p2); if(i1>i3) swap(p1,p3); if(i2>i3) swap(p2,p3);

printf(\}

void swap(int *p,int *q) {int t;

t=*p; *p=*q; *q=t; }

//

(2)下列程序的功能是利用自定义函数计算一无符号整数各位 数字的乘积。

#include unsigned *f(unsigned num) {unsigned s=1,*p;

p=s; ★

do

{s=s*(num);

num/=10; }while(num); return p; }

void main() {unsigned x,p;

printf(\

//p=&s;

scanf(\

p=f(x);

printf(\★

}

// printf(\

4.设计性实验

...

...

(1)编程一函数,其功能是求一个长正整数各位数字之和。要 求使用指针函数实现结果的返回。在主函数中进行测试。

例如在

主函数中输入 348762,输出结果应为为 30 即 3+4 +8+7+6+2 的和。

//方法一:利用指向函数的指针 int

sum(long n)

x;

if(n<10)

x=n; else

x=sum(n/10)+n; return(x);

}

void main() {

long x; int (*f)(long); f=sum;

scanf(\

printf(\f(x));

//利用递归求和

{ unsigned long

//

}

//方法二:利用指针函数

#include unsigned *f(long num) {

unsigned s=0,*p;

仿照第 )题改错( )

32

p=&s;

do {

s=s+(num);

num/=10;

}while(num); return p; }

...

搜索更多关于: C语言程序设计实验与习题答案 的文档
C语言程序设计实验与习题答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9ja0v9w2sh6u75f0b3w102ra61x73m01dkb_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top