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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(C程序设计4完整版课后习题答案.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C程序设计4完整版课后习题答案.docx

1、C程序设计4完整版课后习题答案C程序设计(第四版)(谭浩强)第一章课后习题答案P006 向屏幕输出文字.#include 代码均调试成功,若有失误大多不是代码问题.自已找找. int main() printf(Welcome to n); return 0; P008 求两个数的和.#include int main() int a,b,sum; a=5; b=4; sum=a+b; printf(The sum is %d .n,sum); return 0;P008 调用函数比较两个数的大小.#include int main() int max(int x,int y); int a,

2、b,c; scanf(%d,%d,&a,&b); c=max(a,b); printf(The max is %d .n,c); return 0;int max(int x,int y) int z; if (xy) z=x; else z=y; return(z); P015 三个数的大小.(数字0表示课后练习题)#include int main() int a,b,c,d; int max(int x , int y , int z); printf(Please input 3 numbers :n); scanf(%d %d %d,&a,&b,&c); d=max(a,b,c);

3、printf(The max is :%d .n,d); int max(int x , int y , int z) int m; if (xy & xz) m=x; if (yx & yz) m=y; if (zy & zx) m=z; return (m); C程序设计(第四版)(谭浩强)第2章课后习题答案算法程序的灵魂P017 计算机1-5相乘的积.#include int main() int i,s=1; for(i=1;i6;i+) s=s*i; n,s); return 0;#include int main() int i,s=1; for(i=1;i12;i+) 可以是i=

4、i+2 if(i%2!=0) s=s*i; else continue; printf(The sum is %d .n,s); return 0;P019 按要求输出80分以上的学生信息.暂时没法做.P019 判断2000-2500年中的闰年,并输出.年的概念是地球围绕太阳一周的时间(所谓公转周期)称为一年,这个周期是相当稳定的,很长时间也不会变动1秒,但是真正的一年是天(目前)。所以,如果每年定义为365天的话,1年就会多出天,4年就会多出天,非常接近1天,这样闰年就出现了,也就是每4年要有1年设置为366天,来抵消这多出的1天。规则为:1)如果年份能被4整除,则该年计为闰年;可是,假如不

5、做调整的话,当400年的时候,累计才多出天,接近于多出97天,闰年的设置却多出来100天,所以要在400年内,再撤销3个闰年。怎么撤销呢?就有了下面这个规则:2)如果年份能被100整除,则不计为闰年;问题又来了,400年里有4个100年吧,去掉后四个100年后,又少了一个,所以再加一个规则就是:3)如果年份能被400整除,则计为闰年。简单说来每400年里设置了97个闰年,也就是400里的前3个100年不设置闰年,误差被调整到400年仅有天。#include int main() int i; for(i=2000;i=2200;i+) if(i%4=0 & i%100!=0)|i%400=0)

6、 printf(%d is a leap year !n,i); else printf(%d is not a leap year !n,i); P020 求(1)-(1/2)+(1/3)+(1/99)-(1/100)的值.#include int main() float sign=1 , sum=0 , deno , term ; for (deno=1;deno=100;deno+) term=sign*(1/deno); sum=sum+term; sign=(-1)*sign; printf(The sum of deno(指定值) is %f .n,sum); return 0;

7、 #include int main() int i , num ,n ; printf(Please input a number :n); if(num%i=0) n=1; break; n=0; if(n=0) printf(It is do a prime number !); else printf(It is not a prime number !); return 0;要求用流程图表示上列算法.要求用N-S图表示上列算法. 还要伪代码P036 调换二个参数的值.#include int main() char a=a,b=b,c; c=a; a=b; b=c; printf(a

8、 now is %c , b now is %c !n,a,b); return 0;P036 输入10个数,并输出最大的那一个数.#include int main() int i,a10,s=0 ; printf(Please input 10 numbers :n); for(i=0;i=9;i+) scanf(%d,&ai); for(i=0;i=9;i+) if (sai) s=ai; printf(%d is the biggest number !n,s); return 0;P036 按大小顺序输出一些数.#include int main() int i , j , a4 ,

9、 s=0 ; printf(Please input 5 numbers :n); for (i=0 ; i=4 ; i+) scanf(%d,&ai); for (i=0 ; i=3 ; i+) for (j=i+1 ; jaj) s=ai; ai=aj; aj=s; for (i=0 ; i=4 ; i+) printf(%d-,ai); return 0;P036 求1至100的总合.#include int main() int i , sum=0 ; for (i=0 ; i101 ; i+) sum=sum+i; printf(The sum of one to one hundr

10、ed is %d !n,sum); return 0;P036 判断一个数能否同时被3和5整除.#include int main() int n ; printf(Please input a number :n); scanf(%d,&n); if(n%3=0&n%5=0) printf (Can be devide by 3 and 5 !n); else printf (Can not be devide by 3 and 5 !n); return 0;P036 输出100-200间的素数.#include #include qrt是求根,属数学函数.int main() int i

11、; for (i=100; i=200; i+) if(prime_number(i) = 1) printf(%d ,i); return 0;int prime_number(double m) int j,k; k=(int)sqrt(m); for(j=2;j=k;j+) if(m%j=0) return 0; return 1;#include #include int main() int i; for(i=100;i=200;i+) if(prime(i)=1) printf (%d is the prime number !n,i); return 0;int prime(in

12、t j) int m, n; m=(int)sqrt(j); for (n=2;n=m;n+) if(j%n=0) return 0; return 1; 请仿照来写.P036 最大公约数和最小公倍数.#include main () int m, n, c, d; int gcd(); int lcm(); printf(Please input two number :n); scanf(%d %d,&m,&n); c=gcd(m,n); y=x%y; x=temp; return y; int lcm(int x, int y) 于号降序,大于号升序. temp=x; x=y; y=te

13、mp; for(i=1; i=y; i+) if(!(x*i)%y) return x*i; 最简单的C程序设计顺序程序设计P037 把华氏温度转化为摄氏表示法.#include float F_to_C(float input_fah) float output_cen; output_cen=9)*(input_fah-32); return output_cen; float C_to_F(float input_cen) float output_fah; output_fah=5)*input_cen+32; return output_fah;int main() int choi

14、ce; float input_fah,input_cen,output_fah,output_cen; printf(F_to_C press and C_to_F press !n); scanf(%d,&choice); if(choice=1) printf(Please input fahrenheit :); scanf(%f,&input_fah); output_cen=F_to_C(input_fah); printf(The 华氏 is %d , 摄氏 is %d .,(int)input_fah,(int)output_cen); if(choice=2) printf(

15、Please input centigrade :); scanf(%f,&input_cen); output_fah=C_to_F(input_cen); printf(The Centigrade is %d , and the Fahrenheit is %d .,(int)input_cen,(int)output_fah); return 0;P038 计算存款利息(关于精度问题).#include int main() float p0=1000,r1=,r2=,r3=,p1,p2,p3; p1=p0*(1+r1); p2=p0*(1+r2); p3=p0*(1+r3/2)*(1

16、+r3/2); printf(p1=%fnp2=%fnp3=%fn,p1,p2,p3); return 0;P055 大写转换成小写#include int main() 6个字母. char c1, c2; c1=A; c2=c1+32; printf(%c %d,c2,c2); return 0;P059 给出三角形边长,算出面积.#include #include int main() double a=, b=, c=, s, area; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area is %fn,area); retu

17、rn 0;P065 求一无二次等式的根,默认两个不同根.#include #include int main() double a,b,c,disc,x1,x2,p,q; scanf(%lf %lf %lf,&a,&b,&c); disc=b*b-4*a*c; p=-b/*a); q=sqrt(disc)/*a); x1=p+q; x2=p-q; printf(x1=%nx2=%,x1,x2); return 0;P071 用%f输出实数,只能得到六位小数.#include #include int main() double a=; 以是float. printf(%.9fn,a/3); r

18、eturn 0;P072 float型数据的有效位数.#include #include int main() float a; 33252,float精度6位,所以第七位后不可信. a=10000/; printf(%fn,a); return 0;P078 使用putchar函数输出.#include #include int main() char a=B,b=O,c=Y; putchar(a); putchar(b); putchar(c); putchar(n); putchar(101); putchar(66); return 0;P079 使用getchar得到字符.#incl

19、ude #include int main() char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); return 0;P081 getchar得到大写,putchar输出小写.#include #include int main() char a,b; a=getchar(); b=a+32; putchar(b); putchar(n); return 0;P082 国民生产总值10年后的增长倍数.#include #include int mai

20、n() double p,r=,n=10; p=pow(1+r),n); printf(P is %lf when 10 years later .n,p); return 0; P082 求各种存款的利息数.#include #include int main() double p,r,n; p=1000*(1+5*; printf(5 years is %lf !n,p); f输出的是double型. p=(1000*(1+2*); p=(p*(1+3*); printf(5 years is %lf !n,p); p=(1000*(1+3*); p=(p*(1+2*); printf(5

21、 years is %lf !n,p); 明,是一样的. p=1000*pow(1+,5); printf(5 years is %lf !n,p); p=1000*pow(1+4),4*5); printf(5 years is %lf !n,p); #include #include int main() double m,r=,d=300000,p=6000; m=(log10(p/(p-d*r)/(log10(1+r); printf(%.1lf,m); lf. return 0;P084 字母密码转换,调用函数及临界处理.#include char printcode(char f)

22、 if(int)f86&(int)f118&(int)f123) return(f-26+4); else return(f+4); int main() char a,b,c,d,e; printf(Please input :n); a=getchar(); b=getchar(); c=getchar(); d=getchar(); e=getchar(); printf(%c%c%c%c%c,printcode(a),printcode(b),printcode(c),printcode(d),printcode(e); putchar(putcharcode(a); putchar(

23、putcharcode(b); putchar(putcharcode(c); putchar(putcharcode(d); putchar(putcharcode(e); return 0; lf 来实现,因为没有要求实部,所以格式中m不写. 以转换,但要在某此条件下,例如输出和读入时,%c是字母,而%d是数值,看着办.选择结构程序设计P086 一无二次方程求根的二分支.#include #include int main() double a,b,c,disc,x1,x2,p,q; scanf(%lf %lf %lf,&a,&b,&c); disc=b*b-4*a*c; if(disc0

24、) printf(This equation hasnt real rootsn); else p=-b/*a); q=sqrt(disc)/*a); x1=p+q; x2=p-q; printf(x1=%nx2=%,x1,x2); return 0;P087 二个数按大小输出.#include int main() float a,b,t; scanf(%f %f,&a,&b); 如有个逗号. if(ab) t=a; a=b; b=t; printf(%,%n,a,b); return 0;P088 三个数按大小输出.#include int main() float a,b,c,t; sc

25、anf(%f %f %f,&a,&b,&c); if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; printf(%,%n,a,b,c); return 0;P099 判断输入字符,并最终按小写输出.#include int main() char ch; scanf(%c,&ch); ch=(ch=A&ch=Z)?(ch+32):ch; printf(%cn,ch); return 0;P100 按要求输出相应的Y值.#include int main() int x,y; scanf(%d,&x); if(x=

26、0) if(x0) y=1; else y=0; else y=-1; printf(x=%d,y=%d,x,y); return 0;P102 switch的简单应用.#include int main() char grade; scanf(%c,&grade); printf(Your score:); switch(grade) casea:printf(85-100n);break; caseb:printf(70-84n);break; casec:printf(60-69n);break; cased:printf(60n);break; default:printf(Enter data error!n); return 0;P104 按输入执行操作,并且不分大小写.#include void action1(int x,int y) printf(x+y=%dn,x+y);void action2(int x,int y) printf(x*y=%dn,x*y);int main() char ch; int

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2