• 洛谷刷题C语言:数字反转、再分肥皂水、三角形面积、Apples Prologue/苹果和虫子、数的性质


    记录洛谷刷题QAQ,一些不大优雅的代码


    一、【深基2.例7】数字反转

    题目描述

    输入一个不小于 100 100 100 且小于 1000 1000 1000,同时包括小数点后一位的一个浮点数,例如 123.4 123.4 123.4 ,要求把这个数字翻转过来,变成 4.321 4.321 4.321 并输出。

    输入格式

    一行一个浮点数

    输出格式

    一行一个浮点数

    样例 #1

    样例输入 #1

    123.4
    
    • 1

    样例输出 #1

    4.321
    
    • 1

    代码如下

    #include
    #include
    #include
    #include 
    
    int main()
    {
    	char num[100000];
    	scanf("%s",&num);
    
    	int len = strlen(num);
    	for(int i = len-1;i >= 0;i--)
    	{
    		printf("%c",num[i]);
    	}
    	return 0;	
    } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    二、【深基2.例8】再分肥宅水

    题目描述

    现在有 t t t 毫升肥宅快乐水,要均分给 n n n 名同学。每名同学需要 2 2 2 个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后 3 3 3 位),以及一共需要多少个杯子。

    输入格式

    输入一个实数 t t t 和一个正整数 n n n,使用空格隔开。

    输出格式

    输出两行。

    第一行输出一个三位小数,表示可以获得多少毫升饮料。第二行输出一个正整数,表示一共需要多少个杯子。

    样例 #1

    样例输入 #1

    500.0 3
    
    • 1

    样例输出 #1

    166.667
    6
    
    • 1
    • 2

    提示

    对于所有数据, 0 ≤ t ≤ 10000 0\leq t\leq 10000 0t10000 且小数点后不超过 3 3 3 位, 1 ≤ n ≤ 1000 1\leq n\leq 1000 1n1000

    代码如下

    #include
    #include
    #include
    #include 
    
    int main()
    {
    	double t;
    	int n;
    	scanf("%lf%d",&t,&n);
    
    	double num = t/n;
    	printf("%.3lf\n%d",num,n*2);
    	return 0;	
    } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    三、【深基2.习2】三角形面积

    题目描述

    一个三角形的三边长分别是 a a a b b b c c c,那么它的面积为 p ( p − a ) ( p − b ) ( p − c ) \sqrt{p(p-a)(p-b)(p-c)} p(pa)(pb)(pc) ,其中 p = 1 2 ( a + b + c ) p=\frac{1}{2}(a+b+c) p=21(a+b+c)。输入这三个数字,计算三角形的面积,四舍五入精确到 1 1 1 位小数。

    输入格式

    第一行输入三个实数 a , b , c a,b,c a,b,c,以空格隔开。

    输出格式

    输出一个实数,表示三角形面积。精确到小数点后 1 1 1 位。

    样例 #1

    样例输入 #1

    3 4 5
    
    • 1

    样例输出 #1

    6.0
    
    • 1

    提示

    数据保证保证能构成三角形, 0 ≤ a , b , c ≤ 1000 0\leq a,b,c\leq 1000 0a,b,c1000,每个边长输入时不超过 2 2 2 位小数。

    代码如下

    #include
    #include
    #include
    #include 
    
    int main()
    {
    	double a, b, c;
    	scanf("%lf%lf%lf",&a,&b,&c);
    	
    	double p = 0.5*(a+b+c);
    	double sum = sqrt(p*(p - a)*(p - b)*(p - c));
    	printf("%.1lf",sum);
    	return 0;	
    } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    四、【深基2.习6】Apples Prologue / 苹果和虫子

    题目描述

    八尾勇喜欢吃苹果。她现在有 m m m 1 ≤ m ≤ 100 1 \le m \le 100 1m100)个苹果,吃完一个苹果需要花费 t t t 0 ≤ t ≤ 100 0 \le t \le 100 0t100)分钟,吃完一个后立刻开始吃下一个。现在时间过去了 s s s 1 ≤ s ≤ 10000 1 \le s \le 10000 1s10000)分钟,请问她还有几个完整的苹果?

    输入格式

    输入三个非负整数表示 m , t , s m, t, s m,t,s

    输出格式

    输出一个整数表示答案。

    样例 #1

    样例输入 #1

    50 10 200
    
    • 1

    样例输出 #1

    30
    
    • 1

    提示

    如果你出现了 RE,不如检查一下被零除?

    代码如下

    #include
    #include
    #include
    #include 
    
    int main()
    {
    	int m;
    	int t, s;
    	scanf("%d%d%d",&m,&t,&s);
    	
    	if(t == 0)
    	{
    		printf("0\n");
    	}
    	else if(t != 0)
    	{
    		int num = s / t;
    		int sum = 0;
    		if(s % t != 0)
    		{
    			num++;
    		}
    		if(num >= m)
    		{
    			printf("0\n");
    		}
    		else {
    			printf("%d",m - num);
    		}
    		
    	}
    	return 0;	
    } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    五、【深基3.例2】数的性质

    题目描述

    一些整数可能拥有以下的性质:

    • 性质 1:是偶数;
    • 性质 2:大于 4 4 4 且不大于 12 12 12

    小 A 喜欢这两个性质同时成立的整数;Uim 喜欢这至少符合其中一种性质的整数;八尾勇喜欢刚好有符合其中一个性质的整数;正妹喜欢不符合这两个性质的整数。现在给出一个整数 x x x,请问他们是否喜欢这个整数?

    输入格式

    输入一个整数 x ( 0 ≤ x ≤ 1000 ) x(0\le x \le 1000) x(0x1000)

    输出格式

    输出这 4 4 4 个人是否喜欢这个数字,如果喜欢则输出 1,否则输出 0,用空格分隔。输出顺序为:小 A、Uim、八尾勇、正妹。

    样例 #1

    样例输入 #1

    12
    
    • 1

    样例输出 #1

    1 1 0 0
    
    • 1

    代码如下

    #include
    #include
    #include
    #include 
    
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	
    	
    	int a = 0, b = 0;
    	if(n % 2 == 0)
    	{
    		a = 1;
    	}
    	if(n > 4&& n <= 12)
    	{
    		b = 1;
    	}
    	
    	if(a == 1&&b == 1)
    	{
    		printf("1 1 0 0");
    	}
    	if(a == 1&&b == 0)
    	{
    		printf("0 1 1 0");
    	}
    	
    	if(a == 0&& b== 1)
    	{
    		printf("0 1 1 0");
    	}
    	
    	if(a == 0 && b == 0)
    	{
    		printf("0 0 0 1");
    	}
    	return 0;	
    } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
  • 相关阅读:
    JDK:Font.canDisplay()是如何生效的
    昇思25天学习打卡营第19天 | 基于MindSpore通过GPT实现情感分类
    亚马逊云科技与德勤中国推出新工具,有效缓解生成式AI时代下的安全问题
    浅谈督查督办管理系统在企业管理中起到的作用
    VMware各版本镜像下载站
    森林防火(资源监管)“空天地人”四位一体监测系统方案
    LINUX网络FTP服务
    Linux安装Apache(解压版)
    火眼金睛巧辨C与C++的不同之处
    react中的函数式组件和类式组件
  • 原文地址:https://blog.csdn.net/weixin_62529383/article/details/126006894