算法竞赛入门经典第二版习题答案.docx

上传人:h**** 文档编号:1301320 上传时间:2019-02-06 格式:DOCX 页数:15 大小:22.37KB
下载 相关 举报
算法竞赛入门经典第二版习题答案.docx_第1页
第1页 / 共15页
算法竞赛入门经典第二版习题答案.docx_第2页
第2页 / 共15页
算法竞赛入门经典第二版习题答案.docx_第3页
第3页 / 共15页
算法竞赛入门经典第二版习题答案.docx_第4页
第4页 / 共15页
算法竞赛入门经典第二版习题答案.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、 求 int 的上限与下限 #include /运行时间长 ,请等待 . int main() int min ,max; FILE *fin,*fout; fin=fopen(“min of int.out“,“wb“); fout=fopen(“max of int.out“,“wb“); for(min=-1;min0;) max+ ; fprintf(fout,“%dn“,max-1); fclose(fin); fclose(fout); return 0; 1-1 #include int main() int a,b,c; scanf(“%d%d%d“, double avera

2、ge; average=(a+b+c)/3.0; /一定要将 int 型转为浮点型 printf(“Average=%.3lf“,average ); system(“pause“); return 0; 1-2 #include int main() double f,c; printf(“请输入华氏温度 fn“); scanf(“%lf“, c=(f-32)*5/9 ; printf(“摄氏温度 c=%.3lfn“,c); system(“pause“); return 0; 1-3 #include int main() int n; scanf(“%d“, printf(“%dn“,(

3、1+n)*n/2) ; system(“pause“); return 0; 1-4 #include #include int main() const double pi =4.0*atan(1.0); int n; scanf(“%d“, while(n=360) printf(“请输入小于 360的角 n“); scanf(“%d“, printf(“正弦 :%lfn 余弦 :%lf“,sin(n*pi/180),cos(n*pi/180); system(“pause“); return 0; 1-5 #include #include int main() double x1,y1

4、,x2,y2; printf(“请输入点 A 的坐标 n“); scanf(“%lf%lf“, printf(“请输入点 B 的坐标 n“); scanf(“%lf%lf“, double d; d=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); printf(“%.3lfn“,d); system(“pause“); return 0; 1-6 #include int main() int a; scanf(“%d“, if(a%2=0)printf(“该数是偶数 “); else printf(“该数非偶数 “); system(“pause“); return

5、 0; 1-7 #include int main() const int a=95; int n; printf(“你要买多少件衣服 n“); scanf(“%d“, if(a*n=300)printf(“需要 %.2lf 元 n“,a*n*0.85); else printf(“需要 %.2lf元 n“,(double)a*n); /由于输出是小数 %.2lf,故一定要将 int型转化为浮点型 system(“pause“); return 0; 1-8 #include #include int main() double a; scanf(“%lf“, if(a0)printf(“%.

6、2lf“,a); else printf(“%.2lf“,-a); system(“pause“); return 0; 1-9(方法一 ) #include int main() int a,b,c,max,min,middle; scanf(“%d%d%d“, while(ab)min=b;if(ac)min=c; max=a;if(amax)printf(“yes“); else printf(“no“); system(“pause“); return 0; 1-9(方法二 ) #include int main() int a,b,c,t=0; scanf(“%d%d%d“, whi

7、le(ab)t=a;a=b;b=t; if(ac)t=a;a=c;c=t; if(bc)t=b;b=c;c=t; if(a+bc)printf(“yes“); else printf(“no“); system(“pause“); return 0; 1-10 #include int main() int n; scanf(“%d“, if(n%4=0) if(n%100=0) if(n%400=0) printf(“yes“); else printf(“no“); else printf(“yes“); else printf(“no“); system(“pause“); return

8、 0; 3n+1 解决篇 1 #include int main() int count=0;double i,m; scanf(“%lf“, for(;i1;) m=i/2; if(floor(m+0.5)!=m)i=3*i+1;i/=2;count+=2;/floor(x)取 x 的整数部分 . else i/=2;count+; printf(“%dn“,count); system(“pause“); return 0; 3n+1 解决篇 2 #include int main() long long n, count = 0;/long long 的取值范围 :-263263-1 s

9、canf(“%I64d“, while(n 1) if(n % 2 = 1) n = n*3+1; else n /= 2; count+; printf(“%I64dn“, count); return 0; 数据统计解决篇 #include int main() int x,n=0,s=0,min,max; while(scanf(“%d“,/读取第一个数的时候将第一个数赋值给 min 和 max s+=x; if(xmax)max=x; n+; printf(“%d %d %.3lfn“,min,max,(double)s/n); system(“pause“); return 0; 2

10、-1(fin) #include int main() FILE *fin,*fout; fin=fopen(“digit.in“,“rb“); fout=fopen(“digit.out“,“wb“); /*fin=stdin; fout=stdout;*/ int a,i=0; fscanf(fin,“%d“, while(1) a/=10; i+; if(a /#define LOCAL/在编译选项中定义 LOCAL int main() #ifdef LOCAL freopen(“digit.in“,“r“,stdin); freopen(“digit.out“,“w“,stdout)

11、; #endif int a,i=0; scanf(“%d“, while(1) a/=10; i+; if(a /#define LOCAL/编译选项中定义 int main() #ifdef LOCAL freopen(“daffodil.out“,“w“,stdout); #endif int a,b,c,m; for(a=1;a int main() FILE *fout; fout=fopen(“daffodil.out“,“wb“); int a,b,c,m; for(a=1;a int main() FILE *fin,*fout; fin=fopen(“hanxin.in“,“

12、rb“); fout=fopen(“hanxin.out“,“wb“); /fin=stdin; /fout=stdout; int a,b,c,x,temp=0;/temp 用来判断是否在 10 到 100 内存在这样的数 fscanf(fin,“%d%d%d“, for(x=10;x int main() /会在编译选项中定义 LOCAL #ifdef LOCAL freopen(“hanxin.in“,“r“,stdin); freopen(“hanxin.out“,“w“,stdout); #endif int a,b,c,x,temp=0; scanf(“%d%d%d“, for(x

13、=10;x int main() FILE *fin,*fout; fin=fopen(“triangle.in“,“rb“); fout=fopen(“triangle.out“,“wb“); /fin=stdin; /fout=stdout; int n,i,j,k; fscanf(fin,“%drn“, for(i=1;i=1;k-)fprintf(fout,“*“); fprintf(fout,“rn“); fclose(fin); fclose(fout); return 0; 2-4(freopen) #include int main() /在编译选项内定义 LOCAL #ifd

14、ef LOCAL freopen(“triangle.in“,“r“,stdin); freopen(“triangle.out“,“w“,stdout); #endif int n,i,j,k; scanf(“%d“, for(i=1;i=1;k-)printf(“*“); printf(“n“); return 0; 2-5(fin) #include int main() FILE *fin,*fout; fin=fopen(“stat.in“,“rb“); int n,a,i,m,count=0; fscanf(fin,“%d“, for(i=1;i=n+1;i+) fscanf(fin,“%d“, if(i=n+1)m=a; fclose(fin); fin=fopen(“stat.in“,“rb“); for(i=0;i=n;i+) fscanf(fin,“%d“, if(i!=0) if(am) count+; fclose(fin); fout=fopen(“stat.out“,“wb“); fprintf(fout,“%drn“,count);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。