云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 高教c语言程序设计(2011版)课后编程题答案

高教c语言程序设计(2011版)课后编程题答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 10:38:32

~$c语言程序设计(2011版)课后编程题答案

dec_bin(int n,int a[]) {

static int i=0; if(n==0||n==1) { a=n; return i; } else {

a[i++]=n%2;

return dec_bin(n/2,a); } }

main() {

int i,j,n,a[64];

printf(\ scanf(\ j=dec_bin(n,a); for(i=j;i>=0;i--) printf(\ }

11.13 请用递归算法,求1+2+3+...n,n由键盘输入。

※程序如下※

fun(int n) {

int sum; if(n==1) return 1; else {

sum=n+fun(n-1); return sum; } }

main() {

int n,sum; clrscr();

printf(\ scanf(\ sum=fun(n);

printf(\ }

11.14 请用递归函数,求裴波拉契级数,求n阶裴波拉契级数的公式如下。

- 25 -

~$c语言程序设计(2011版)课后编程题答案

※程序如下※ #include fac(int n) {

long t;

if(n==0||n==1) return 1; else {

t=fac(n-1)+fac(n-2); return t; } }

main() { int n;

printf(\ scanf(\ printf(\ }

第十三章 编译预处理和动态存储分配

13.10 编写出一个宏定义MYALPHA(C),用以判断C是否是字母字符,若是得1,否则得0。

※程序如下※

#include #include

#define MYALPHA(C) isalpha(C)?1:0 main() {

char ch; clrscr();

ch=getchar();

if(MYALPHA(ch))

printf(\ else

printf(\ }

13.11 请写出一个宏定义swap(t,x,y)用以交换t类型的两个参数。提示:用复合语句的 形式。

※程序如下※

#include

#define swap(t,x,y) {t=x;x=y;y=t;}

- 26 -

~$c语言程序设计(2011版)课后编程题答案

main() {

int a,b,t; clrscr();

printf(\ scanf(\ swap(t,a,b);

printf(\ }

13.12 请编写程序,利用malloc函数开辟动态存储单元,存放输入的三个整数。然后按 从小到大的顺序输出这三个数。

※程序如下※

#include #include

void main() {

int *pData = (int*)malloc(sizeof(int)*3); int t;

printf(\ scanf(\

for (int i=0; i<2; i++) for (int j=i+1; j<3; j++)

if (*(pData+i) > *(pData+j)) {

t = *(pData+j);

*(pData+j) = *(pData+i); *(pData+i) = t; }

printf(\ }

第十四章 结构体、共用体和用户定义类型

14.12 设有以下结构类型说明:struct stud {

char num[5],name[10]; int s[4]; double ave; };

请编写:

(1)函数readrec把30名学生的学号、姓名、四项成绩以及平均分放在一个结构

- 27 -

~$c语言程序设计(2011版)课后编程题答案

体数组中,学生的学号、姓名和四项成绩由键盘输入,然后计算平均分放 在结构体对应的域中。

(2)函数writerec输出30名学生的记录。

(3)main函数调用readrec函数和writerec函数,实现全部程序功能(注:不允 许使用全局变量,函数之间的数据全部使用参数传递)。

※程序如下※

#include #define STUDNUM 30 struct stud {

char num[5],name[10]; int s[4]; double ave; };

void readrec(struct stud *pStud, int num) { int i;

printf(\

for (i=0; i

printf(\

scanf(\ &(pStud->s[1]),&(pStud->s[2]),&(pStud->s[3]));

pStud->ave=(pStud->s[0]+pStud->s[1]+pStud->s[2]+pStud->s[3])/4.0;

pStud++; } }

void writerec(struct stud *pStud, int num) { int i;

printf(\

for (i=0; i

printf(\

printf(\ pStud->s[0],pStud->s[1],pStud->s[2],pStud->s[3],pStud->ave);

pStud++; } }

void main() {

- 28 -

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

~$c语言程序设计(2011版)课后编程题答案 dec_bin(int n,int a[]) { static int i=0; if(n==0||n==1) { a=n; return i; } else { a[i++]=n%2; return dec_bin(n/2,a); } } main() { int i,j,n,a[64]; printf(\ scanf(\ j=dec_bin(n,a); for(i=j;i>=0;i--) printf(\ } 11.13 请用递归算法,求1+2+3+...n,n由键盘输入。 ※程序如下※ fun(int n)

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com