ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:17.26KB ,
资源ID:6030626      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6030626.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《C Primer Plus》第六版 第十二章编程练习答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《C Primer Plus》第六版 第十二章编程练习答案.docx

1、C Primer Plus第六版 第十二章编程练习答案1.#includeint critic(void );int main(int argc, char *argv) int num=56; int units; printf(How many pounds to a firkin of butter?n); scanf(%d,&units); while (units!=num) units=critic(); getchar(); return 0;int critic() int n; printf(No luck, my friend. Try again.n); scanf(%d

2、, &n); return n;2./*pe12-2a.h*/#includevoid set_mode(int mode);void get_info();void show_info();/ *pe12-2a.c*/#include#includepe12-2a.hint mode;float distance, fuel;void set_mode(int m) if (m !=0 & m !=1) printf(Invalid mode specified. Mode 1(US) used.n); m=1; mode=m;void get_info() if (0=mode) prin

3、tf(Enter distance traveled in kilometers: ); scanf(%f, &distance); printf(Enter fuel consumed in liters: ); scanf(%f, &fuel); else printf(Enter distance traveled in miles: ); scanf(%f, &distance); printf(Enter fuel consumed in gallons: ); scanf(%f, &fuel); void show_info() float units; if (0=mode) u

4、nits=100* (fuel/distance); printf(Fuel consumed in liters: %.1f per 100 kmn, units); else units=distance/fuel; printf(Fuel consumed is %.1f miles per gallonn, units); 3./*pe12-2a.h*/#includevoid set_mode(int mode);void get_info(int mode);void show_info(int mode, float distance, float fuel);/*pe12-2a

5、.c*/#include#includepe12-2a.hvoid set_mode(int mode) if (mode !=0 & mode !=1) printf(Invalid mode specified. Mode 1(US) used.n); mode=1; get_info(mode);void get_info(int mode) float distance, fuel; if (0=mode) printf(Enter distance traveled in kilometers: ); scanf(%f, &distance); printf(Enter fuel c

6、onsumed in liters: ); scanf(%f, &fuel); else printf(Enter distance traveled in miles: ); scanf(%f, &distance); printf(Enter fuel consumed in gallons: ); scanf(%f, &fuel); show_info(mode, distance, fuel);void show_info(int mode, float distance, float fuel) float units; if (0=mode) units=100* (fuel/di

7、stance); printf(Fuel consumed in liters: %.1f per 100 kmn, units); else units=distance/fuel; printf(Fuel consumed is %.1f miles per gallonn, units); /*pe12-2b.c*/#include#includepe12-2a.hint main(void) int mode; printf(Enter 0 for metric mode, 1 for US mode: ); scanf(%d, &mode); while(mode=0) set_mo

8、de(mode); printf(Enter 0 for metric mode, 1 for US mode: ); printf(-1 to quit): ); scanf(%d, &mode); printf(Done,n); getchar(); return 0;4.#includeint count=0;int fun();int main(void) int i=0; int cnt; while (i20) cnt=fun(); printf(The function has been called %d times:n, cnt); i+; getchar(); return

9、 0;int fun() count+; return count;5./*main.c*/#include#includerand0.hint main(void) int Str100; int count; for(count=0; count100; count+) Strcount=rand0(); sort(Str); for (count=0; count100; count+) if (count%10=0) putchar(n); printf(%3d , Strcount); getchar(); return 0;/*fun.h*/#include#include int

10、 rand0(void); void sort(int *str);/*fun.c*/#include#includerand0.h int rand0(void) int num; num=rand()%10+1; return num; void sort(int *str) int i, j, temp; for (i=0; i100; i+) for (j=0; j100-i-1; j+) if (strjstrj+1) temp=strj; strj=strj+1; strj+1=temp; 6.#include#includeint rand0();int main(void) i

11、nt Str10=0; int count; int value; for(count=0; count1000; count+) value=rand0(); Strvalue-1+; for (count=0; count10; count+) printf(%3d , Strcount); getchar(); return 0;int rand0() int num; num=rand()%10+1; return num;7./*main.c*/#include#include#include#includediceroll.hint main(void) int dice, rol

12、l; int sides, sets; int status; int i; srand( (unsigned int) time(0) ); printf(Enter the number of sets; enter q to stop.n); while(scanf(%d, &sets)=1 & sets0) if (sets=q) break; printf(Enter the number of sides per die, 0 to stop.n); if(scanf(%d, &sides)=1 & sides0) printf(How many dice?n); if( (sta

13、tus =scanf(%d, &dice)!=1) if (status=EOF) break; else printf(you should hane entered an integer.); printf( Lets begin again.n); while(getchar()!=n) continue; printf(How many side? enter 0 to stop.n); continue; printf(Here are %d sets of %d %d-sided throws.n, sets, dice, sides); for (i=0; isets; i+)

14、roll=roll_n_dice(dice, sides); printf(%d , roll ); putchar(n); printf(Enter the number of sets; enter q to stop.n); printf(The rollem() function was called %d times.n, roll_count); printf(GOOD FORTUNE TO YOU!n); getchar(); return 0;/*diceroll.h*/extern int roll_count;int roll_n_dice(int dice, int si

15、des);/*diceroll.c*/#includediceroll.h#include#includeint roll_count=0;static int rollem(int sides) int roll; roll=rand()%sides+1; roll_count+; return roll;int roll_n_dice(int dice, int sides) int d; int total=0; if(sides2) printf(Need at least 2 sides.n); return -2; if (dice1) printf(Need at least 1

16、 die.n); return -1; for (d=0; ddice; d+) total +=rollem(sides); return total;8.#include#includeint *make_array(int elem, int val);void show_array(const int ar, int n);int main(void) int *pa; int size; int value; printf(enter the number od elements: ); while(scanf(%d, &size)=1 & size0) printf(enter t

17、he initialization value: ); scanf(%d, &value); pa=make_array(size, value); if (pa) show_array(pa, size); free(pa); printf(enter the number of elements (1 to quit): ); printf(Done.n); getchar(); return 0;int *make_array(int elem, int val) int *ptd; int i; ptd=(int *) malloc(elem* sizeof(double); for

18、(i=0; ielem; i+) ptdi=val; return ptd;void show_array(const int ar, int n) int i; for (i=0; in; i+) if (i%8=0) putchar(n); printf(%3d , ari); putchar(n);9.#include#include#includeint main(void) int num, i; char *ptd; char *temp; printf(How many words you wish to enter? ); while ( scanf(%d, &num) =1 & num!=0) ptd=(char*)malloc(num*sizeof(char *); printf(Enter %d words now:n, num); temp=(char*) malloc(100 * sizeof(char); for (i=0; inum; i+) scanf(%s, temp); *(ptd+i)=temp; printf(%sn, *(ptd+i); free(ptd); free(temp); printf(How many words you wish to enter? ); getchar(); return 0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1