算法基础(一)

/*    本文是本人在学习《算法竞赛入门经典》时所做的笔记,插补阙漏, 有错误之处望指出,谢谢。*/

1.5.3    习题

1-1    平均数

#include<stdio.h>

int main()

{
int a,b,c;
float v;
scanf("%d %d %d",&a,&b,&c);
v = (a+b+c)/3;

printf("%.3f\n",v);

        return 0;

 } 

注: 不要忘记在scanf中要使用&符号获取数字或者字符。

1-2    温度

#include<stdio.h>

int main()
{
float f, c;
printf("输入华氏温度:"); 
scanf("%f",&f);
c = 5.0 * (f-32.0) / 9.0 ;

printf("%.3f",c);
return 0;

 } 


1-3    连续和

#include<stdio.h>

int main()
{
int n,sum;
scanf("%d",&n);
sum = n * (1 + n) / 2;     /*列出求和公式*/
printf("sum = %d\n",sum);

return 0;

 } 

1-4    正弦和余弦
#include<stdio.h>
#include<math.h>
#define PI acos(-1.0)
int main()
{
int n;
double m,y1,y2;
printf("输入度数:");
scanf("%d",&n);
m = (n*PI)/180;
y1 = sin(m);
y2 = cos(m);
printf("sin(%d°) = %lf\n",n,y1);
printf("cos(%d°) = %lf\n",n,y2);

return 0;
 } 

1-5    打折

#include<stdio.h>

int main()
{
int n, m;
float p;
m = 95;
scanf("%d",&n);
p = n * m;
if(p>=300)
{
printf("%.2f\n",0.85*p);
}
else 
printf("%.2f\n",p);

}


1-6    三角形边
#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d",&a, &b, &c);
if(a*a == b*b + c*c)
printf("Yes!");
else if(b*b == a*a + c*c)
printf("Yes!");
else if(c*c == a*a + b*b)
printf("Yes!");
else 
printf("Not a triangle!");

}

1-7    闰年
#include<stdio.h>
int main()
{
int year;
scanf("%d",&year);

if(year%4==0 && year%100!=0 || year%400==0)
printf("是闰年");
else
printf("不是闰年"); 

}

问题4:逻辑&&的优先级高于||,!(逻辑非)高于&&。


2.1 习题

2-2    7744问题
#include<stdio.h>
#include<math.h>
int main()
{
for(int n=1;n<10;n++)
for(int m=1;m<10;m++)
{
int num = n * 1100 + m * 11;
int ber = floor(sqrt(num)+0.5);    /*floor(x)返回不超过x的最大整数*/
if(ber * ber == num)
printf("%d\n",num);
}
return 0;
}


猜你喜欢

转载自blog.csdn.net/Yuan_xln/article/details/79549778