1011.圆柱体表面积
圆柱体表面积公式是什么来着?
看看它的展开图吧,两个圈儿和一个长纸片儿, 圈儿的面积是π * r * r, 长纸片儿的面积是长乘宽
题面好像没给长和宽来着,但是我们有另外两个玩意儿——圈儿的面积π * r和圆柱体的高h
把展开图恢复成圆柱体,你会发现这个长纸片的其中两条边刚好卷出两个圈儿,它们对应的就是圈儿的周长, 而长纸片儿的另外两条边重合,长度和圆柱体的高一样, 太神奇了!
#include <stdio.h>
#define PI 3.14159
int main()
{
double r, h, c, s, S;
scanf("%lf %lf",&r,&h);
c = 2 * r * PI;//圈儿的周长
s = r * r * PI;//圈儿的面积
S = c * h + 2 * s;//长纸片儿面积加俩圈儿的面积
printf("%.2f",S);
return 0;
}
1012.求绝对值
判断结构
终于到了判断结构了,没有学习判断结构的同学记得先去学习,不然这题你是看不懂的
还记的绝对值的定义吗?
绝对值是指一个数在数轴上所对应点到原点的距离,用“| |”来表示。|b-a|或|a-b|表示数轴上表示a的点和表示b的点的距离。
现在咱不扯这些看不懂的玩意儿, 你只需要知道,一个负数的绝对值是它的相反数,非负数的绝对值是它本身, 这就够了
然后用上刚学会的还热乎的判断结构的知识就可以写出这道题了
#include <stdio.h>
int main()
{
double x;
scanf("%lf",&x);
if(x < 0)
{
x = -x;
}
printf("%.2f",x);
return 0;
}
1013.求两点间距离
两点间距离公式:
dist = 根号下(打出来的不带上面那条横线,怕你们看不见) (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
这里要临时引入一个知识点——函数
类似于我们高中学过的那些f(x)之类的玩意儿, 这个函数长这样: sqrt(x), 你把它写上,你的电脑会自动给你x的平方根(给你的这个平方根是个浮点数), 用法见下面的代码
#include <stdio.h>
int main()
{
double a, b, c, d, e, f;
scanf("%lf %lf %lf %lf",&a,&b,&c,&d);
e = (a - c) * (a - c) + (b - d) * (b - d);
f = sqrt(e);
printf("%.2f",f);
return 0;
}
1014.求三角形的面积
这题真就有点挑战我的极限了, 不打紧,我们有万能的搜索引擎, 搜索一下海伦公式, 然后套上去即可
#include <stdio.h>
int main()
{
double a, b, c, p, S;
scanf("%lf %lf %lf",&a,&b,&c);
p = (a + b + c) / 2;
S = sqrt(p * (p - a) * (p - b) * (p - c)); //海伦公式求面积
printf("%.2f",S);
return 0;
}
1015.计算时间间隔
写郑轻OJ一定要记得看提示!
写郑轻OJ一定要记得看提示!
写郑轻OJ一定要记得看提示!
分开读入两个时间点的时分秒, 然后将其求差, 转化为秒后输出
#include <stdio.h>
int main()
{
int a, b, c, d, e, f, g;
scanf("%d:%d:%d",&a,&b,&c);
scanf("%d:%d:%d",&d,&e,&f);
g = (d - a) * 3600;
g += (e - b) * 60;
g += f - c;
printf("%d",g);
return 0;
}
1016.银行利率
循环结构它来咯, 学会这个知识, 你大一上学期待学的重难点知识就又少了一个
语法要去看书或者找网上视频学, 本题解一般情况下不会进行语法教学
#include <stdio.h>
int main()
{
int n;
double a, b;
scanf("%d %lf",&n,&a);
for(int i = 1; i <= n; i ++) //i表示i年后
{
b = 1.0225 * a; //计算本利和
a = b;//下一年的本金
}
printf("%.6f",b);
return 0;
}
1017.判断正整数位数
提示中说用log10(n)这个函数,但对于高中数学一塌糊涂且深恶痛绝的我来说,对数函数什么的太难了,于是我动用了while循环来进行降维打击
不过对于胜我千百倍的你,是必然要两种写法都会的对吧
//循环写法
#include <stdio.h>
int main()
{
int a, cnt = 0;
scanf("%d",&a);
while(a > 0)
{
cnt ++;
a /= 10;
}
printf("%d",cnt);
return 0;
}
//log10()函数写法
#include <stdio.h>
int main()
{
int a, b;
scanf("%d",&a);
b = log10(a) + 1;
printf("%d",b);
return 0;
}
1018.奇数偶数
又到了我们的考验判断结构环节
先来上一波定义:
整数可以分成奇数和偶数两大类: 能被2整除的数叫做偶数,不能被2整除的数叫做奇数。
什么叫做能被2整除?
就是这个数除以二的余数是0
那么你还记得C语言怎么求两个数相除的余数吗?
对喽, 用 '%'
#include <stdio.h>
int main()
{
int x;
scanf("%d",&x);
if(x % 2 == 0)
{
printf("even");
}
else
{
printf("odd");
}
return 0;
}
1019.公园门票
依旧是已经不算新鲜的判断结构考察
如果购票数小于30, 则每张票价50, 否则每张票价48
#include <stdio.h>
int main()
{
int a, ans;
scanf("%d",&a);
if(a < 30)
{
ans = 50 * a;
}
else
{
ans = 48 * a;
}
printf("%d",ans);
return 0;
}
1020.两整数排序
只有两个整数的排序, 用if判断一下它们的输出顺序就可以了
#include <stdio.h>
int main()
{
int a, b;
sacnf("%d%d",&a,&b);
if(a > b) printf("%d %d", b, a);
else printf("%d %d", a, b);
return 0;
}