好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

求 int 的上限与下限

#include // 运行时间长 ,请等待 . int main()

{

int min ,max; FILE *fin,*fout;

fin=fopen(\int.out\

{

min-- ;

}

fprintf(fin,\

{

max++ ;

}

fprintf(fout,\fclose(fout); return 0;

}

#include int main()

{

1-1

int a,b,c;

scanf(\double average;

average=(a+b+c)/3.0; // 一定要将 printf(\system(\return 0;

}

int 型转为浮点型

#include int main()

{

1-2

double f,c;

printf(\请输入华氏温度 f\\n\c=(f-32)*5/9 ;

printf(\摄氏温度 c=%.3lf\\n\

1 / 15

system(\

}

1-3 #include int main()

{

int n; scanf(\return 0;

}

1-4

#include #include int main()

{

const double pi =4.0*atan(1.0); int n; scanf(\

{

printf(\请输入小于 360°的角 \\n\

}

printf(\正弦 :%lf\\n 余弦 :%lf\return 0;

}

1-5

#include #include int main()

{

double x1,y1,x2,y2; printf(\请输入点 A 的坐标 \\n\printf(\请输入点 B 的坐标 \\n\

double d; d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); printf(\

2 / 15

system(\return 0;

}

1-6

#include int main()

{

int a;

scanf(\该数是偶数 \该数非偶数 \return 0;

}

1-7

#include int main()

{

const int a=95; int n;

printf(\你要买多少件衣服 \\n\scanf(\

if(a*n>=300)printf(\需要 %.2lf 元 \\n\

else printf(”需要%.2lf元\\n\由于输出是小数 %.2lf,故一定要将int型转化为 浮点型

system(\return 0;

}

1-8

#include #include int main()

{

double a;

scanf(\system(\return 0;

}

1-9(方法一 )

#include int main()

int a,b,c,max,min,middle; scanf(\

{

printf(\三边必须都是大于零的正整数 \

}

min=a;if(a>b)min=b;if(a>c)min=c; max=a;if(amax)printf(\else printf(\system(\return 0;

} {

3 / 15

1-9(方法二 )

#include int main()

{

int a,b,c,t=0;

scanf(\

{

printf(\三边必须都是大于零的正整数 \

}

if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;}

if(b>c){t=b;b=c;c=t;} if(a+b>c)printf(\system(\return 0;

}

1-10

#include int main()

{

int n;

scanf(\if(n%4==0) if(n0==0)

{

4 / 15

if(n@0==0) { printf(\

}

else printf(\

}

else printf(\

}

else printf(\

return 0; }

3n+1 解决篇 1 #include int main()

{

int count=0;double i,m; scanf(\{

m=i/ 2; if(floor(m+0.5)!=m){i=3*i+1;i/=2;count+=2;}//floor(x) else {i/=2;count++;}

}

}

printf(\

取 x 的整数部分

3n+1 解决篇 2 #include int main(){

long long n, count = 0;//long long 的取值范围:-2人63~2人63-1 scanf(\while(n > 1) {

if(n % 2 == 1) n = n*3+1; else n /= 2; count++;

}

printf(\

return 0; }

数据统计解决篇

#include int main()

{

int x,n=0,s=0,min,max; while(scanf(\

{

if(n==0){min=max=x;}// 读取第一个数的时候将第一个数赋值给 min 和 max s+=x; if(xmax)max=x; n++;

}

printf(\return 0;

}

2-1(fin)

#include int main()

{

FILE *fin,*fout; fin=fopen(\fout=fopen(\/*fin=stdin; fout=stdout;*/ int a,i=0; fscanf(fin,\while(1)

{

a/=10;

i++; if(a<1)break;

}

5 / 15

08dgj77c6h1h1yk7phhy1xkfw968dk01avy
领取福利

微信扫码领取福利

微信扫码分享