《算法竞赛入门经典》第1部分第1章 程序设计入门

前言


本章无太多晦涩难懂的词句,故只写习题。


注意事项:

1.不求甚解,模仿即可
2.“明知故犯”,多尝试,探索不同的可能。

习题

1-1 平均数

int main()
{
	int a, b, c;
	double average;
	scanf("%d%d%d", &a, &b, &c);
	average = (a + b + c) / 3;//注意要用小数除法
	printf("%.3lf", average);//学习如何保留位数
	return 0;
}

可以将
average = (a + b + c) / 3;
printf(“%.3lf”, average);
合并为:
printf(“%.3lf”, (a + b + c) / 3);

1-2 温度(temperature)

int main()
{
	double f,c;
	scanf("%lf", &f);
	c = 5 * (f - 32) / 9;
	printf("%.3lf", c);
	return 0;
}

1-3 连续和(sum)


int main()
{
	int sum, n;
	scanf("%d", &n);
	sum = n * (n + 1) / 2;//等差数列前n项和//高斯公式
	return 0;
}

下一章会学到循环,可以尝试一下。

1-4 正弦和余弦(sin和cos)

数学知识

一个完整的圆周有2Π弧度(360°)
键盘输入是°,三角函数参数用弧度。
角度转弧度:用角度乘以π/180
弧度转角度:用弧度乘以180 / π

int main()
{
	int n;
	const double PI = acos(-1.0);
	scanf("%d", &n);
	printf("%.3lf\n%.3lf", sin(n * (PI / 180)), cos(n * PI / 180));\n是换行符,懒得起一行了。
	return 0;
}

1-5 打折(discount)

int main()
{
	int n, dis;
	double yuan;
	scanf("%d", &n);
	if (n <= 3)
		yuan = 95 * n;
	else
		yuan = 95 * n * 0.85;
	printf("%.2lf", yuan);
	return 0;
}

1-6三角形(triangle)

int main()
{
	int a, b, c;
	scanf("%d%d%d", &a, &b, &c);
	if (a <= 0 || b <= 0 || c <= 0 || a + b < c || a + c < b || b + c < a)//注意不要漏掉a<0的条件
        printf("NOT A TRIANGLE!");
    else if (a + b > c && a + c > b && b + c > a)
    {
        if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a)
            printf("yes");
        else
            printf("no");
    }
	return 0;
}

1-7 年份(year)

int main()
{
    int year;//闰年的定义为能被四整除并且不能被一百整除,或者能被400整除
    scanf("%d", &year);
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
        printf("yes\n", year);
    else
        printf("no\n");
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值