郑州轻工业大学OJ 1011 ~ 1020

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;
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值