算法竞赛入门经典1-3章习题答案.docx
文本预览下载声明
第一章
习题1-1
#include stdio.h
int main()
{
int a,b,c;
double d;
scanf(%d%d%d,a,b,c);
d=(double)(a+b+c);
printf(%.3lf\n,d/3.0);
return 0;
}
习题1-2
#include stdio.h
int main()
{
int f;
double c;
scanf(%d,f);
c=5.0*(f-32)/9;
printf(%.3lf\n,c);
return 0;
}
习题1-3
#include stdio.h
int main()
{
int n;
scanf(%d,n);
printf(%d\n,(n*(1+n))/2);
return 0;
}
习题1-4
#include stdio.h
#include math.h
#define pi 4.0*atan(1.0)
int main()
{
int n;
scanf(%d,n);
printf(%lf\n,sin((pi*n)/180));
printf(%lf\n,cos((pi*n)/180));
return 0;
}
习题1-5
#include stdio.h
#include math.h
int main()
{
double x1,y1,x2,y2,a;
scanf(%lf %lf %lf %lf,x1,y1,x2,y2);
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf(%lf\n,a);
return 0;
}
习题1-6
#include stdio.h
int main()
{
int n;
scanf(%d,n);
if(n%2==0)
{
printf(yes\n);
}
else
{
printf(no\n);
}
return 0;
}
习题1-7
#include stdio.h
int main()
{
int n;
double a;
scanf(%d,n);
a=n*95.0;
if(a300)
{
printf(%.2lf\n,a);
}
else
{
printf(%.2lf\n,a*0.85);
}
return 0;
}
习题1-8
#include stdio.h
#include math.h
int main()
{
double n;
scanf(%lf,n);
printf(%.2lf,fabs(n));
return 0;
}
习题1-9
#include stdio.h
int main()
{
int a,b,c;
scanf(%d%d%d,a,b,c);
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
{
printf(yes\n);
}
else
{
printf(no\n);
}
return 0;
}
习题1-10
#include stdio.h
int main()
{
int n;
scanf(%d,n);
if(n%4==0)
{
if(n%100!=0)
{
printf(yes\n);
}
else
{
if(n%400==0)
{
printf(yes\n);
}
else
{
printf(no\n);
}
}
}
else
{
printf(no\n);
}
return 0;
}
第二章
习题2-1
#include stdio.h
int main()
{
int n,count=0;
scanf(%d,n);
while(n0)
{
count++;
n=n/10;
}
printf(%d\n,count);
return 0;
}
习题2-2
#include stdio.h
int main()
{
int a,b,c;
for(int i=100;i=999;i++)
{
a=i%10;
b=i/10%10;
c=i/100;
if(i==a*a*a+b*b*b+c*c*c)
{
printf(%d\n,i);
}
}
return 0;
}
习题2-3
#include stdio.h
int main()
{
int i,a,b,c;
scanf(%d%d%d,a,b,c);
for(i=10;i=100;i++)
{
i
显示全部