• 洛谷刷题C语言:数字游戏、面积、日期、苹果采购、字母转换


    纪录洛谷刷题QAQ


    一、[CSP-J2019] 数字游戏

    题目描述

    小 K 同学向小 P 同学发送了一个长度为 8 的 01 字符串来玩数字游戏,小 P 同学想要知道字符串中究竟有多少个 1。

    注意:01 字符串为每一个字符是 0 或者 1 的字符串,如“101”(不含双引号)为一个长度为 3 的 01 字符串。

    输入格式

    输入文件只有一行,一个长度为 8 的 01 字符串 s。

    输出格式

    输出文件只有一行,包含一个整数,即 01 字符串中字符 1 的个数。

    样例 #1

    样例输入 #1

    00010100
    
    • 1

    样例输出 #1

    2
    
    • 1

    样例 #2

    样例输入 #2

    11111111
    
    • 1

    样例输出 #2

    8
    
    • 1

    提示

    【输入输出样例 1 说明】

    该 01 字符串中有 2 个字符 1。

    【输入输出样例 2 说明】

    该 01 字符串中有 8 个字符 1。

    【数据规模与约定】

    对于 20% 的数据,保证输入的字符全部为 0。

    对于 100% 的数据,输入只可能包含字符 0 和字符 1,字符串长度固定为 8。

    代码如下

    #include
    #include
    #include
    #include 
    
    int main()
    {
    	char num[9];
    	scanf("%s",&num);
    	
    	int len = strlen(num);
    	int sum = 0;
    	for(int i = 0;i <= len;i++)
    	{
    		if(num[i] == '1')
    		{
    			sum++;
    		}
    	}
    	
    	printf("%d\n",sum);
    	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

    二、[CSP-J2019 江西] 面积

    题目描述

    Alice 有一个边长为 a a a 的正方形,Bob 有一个长宽分别为 b , c b,c b,c 的矩形,请你告诉他们俩谁的图形面积更大。

    输入格式

    仅一行三个正整数 a , b , c a,b,c a,b,c

    输出格式

    输出仅一行一个字符串,若正方形面积大则输出 Alice,否则输出 Bob

    样例 #1

    样例输入 #1

    5 4 6
    
    • 1

    样例输出 #1

    Alice
    
    • 1

    样例 #2

    样例输入 #2

    7 5 10
    
    • 1

    样例输出 #2

    Bob
    
    • 1

    提示

    【数据范围】
    对于 30 % 30\% 30% 的数据, 1 ≤ a , b , c ≤ 100 1 \le a,b,c \le 100 1a,b,c100 b = c b=c b=c
    对于 80 % 80\% 80% 的数据, 1 ≤ a , b , c ≤ 1 0 4 1\le a,b,c \le 10^4 1a,b,c104
    对于 100 % 100\% 100% 的数据, 1 ≤ a , b , c ≤ 1 0 9 1\le a,b,c \le 10^9 1a,b,c109

    【样例 1 1 1 解释】
    正方形面积为 25 25 25,矩形面积为 24 24 24

    【样例 2 2 2 解释】
    正方形面积为 49 49 49,矩形面积为 50 50 50

    代码如下

    #include
    #include
    #include
    #include 
    
    int main()
    {
    	long long a, b, c;
    	scanf("%lld%lld%lld",&a,&b,&c);
    
    
    	if(b*c >= a*a) 	printf("Bob\n");
    	else if(a*a > b*c) 	printf("Alice\n");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    三、[CSP-S2019 江西] 日期

    题目背景

    CSP-SJX2019 T1

    题目描述

    Alice在纸上写下了一个日期,形式为 MM-DD \text{MM-DD} MM-DD,其中 MM \text{MM} MM DD \text{DD} DD 都是两位数字,分别表示月和天,然而这个日期并不一定存在。 Alice找来了Bob要他更改若干位上的数字,使得这个日期存在。请你帮Bob算算他最少需要更改几位数字。

    本题中我们认为 2 2 2 月固定为 28 28 28 天。

    输入格式

    仅一行一个五个字符的字符串,表示 MM-DD \text{MM-DD} MM-DD

    输出格式

    仅一行一个整数,表示答案。

    样例 #1

    样例输入 #1

    03-32
    
    • 1

    样例输出 #1

    1
    
    • 1

    样例 #2

    样例输入 #2

    02-39
    
    • 1

    样例输出 #2

    1
    
    • 1

    样例 #3

    样例输入 #3

    67-89
    
    • 1

    样例输出 #3

    2
    
    • 1

    提示

    【输入输出样例1说明】

    更改方式不止一种,其中一种方式是改为: 03-22 \text{03-22} 03-22

    【输入输出样例2说明】

    一种更改方式为: 02-09 \text{02-09} 02-09

    【输入输出样例3说明】

    一种更改方式为: 07-09 \text{07-09} 07-09

    【数据规模与约定】
    对于 100 % 100\% 100% 的数据: MM \text{MM} MM DD \text{DD} DD 一定为 4 4 4 个数字。

    代码如下

    #include
    #include
    #include
    #include 
    
    int ts[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//每月的天数
    int main()
    {
    	int m,r,s=0;
    
    	scanf("%d-%d",&m,&r);
    	if(m>12)//月份需要改
    	{
    		if(m/10==1)//十位数是1
    		{
    			m=12;
    		}else
    		{
    			if(m%10==2)//个位数是2
    			{
    				m=12;
    			}else
    			{
    				m=(m-1)%10+1;//把十位数改成0,因为不是12的话个位为1或0,那就是11,10,10这里可以判断,11的话不如改成1
    			}
    		}
    		s++;
    	}
    	if(ts[m]<r||r<=0)//天数要改
    	{
    		s++;
    	}
    	printf("%d\n",s);
    	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

    四、【深基2.例5】苹果采购

    题目描述

    现在需要采购一些苹果,每名同学都可以分到固定数量的苹果,并且已经知道了同学的数量,请问需要采购多少个苹果?

    输入格式

    输入两个不超过 1 0 9 10^9 109 正整数,分别表示每人分到的数量和同学的人数。

    输出格式

    一个整数,表示答案。保证输入和答案都在 int 范围内的非负整数。

    样例 #1

    样例输入 #1

    5 3
    
    • 1

    样例输出 #1

    15
    
    • 1

    代码如下

    #include
    #include
    #include
    #include 
    
    int main()
    {
    	long long n, m;
    	scanf("%lld%lld",&n,&m);
    	
    	printf("%lld",n*m);
    	return 0;	
    } 
    //看到10^9时,我其实以为是大数相乘的,但是可能是数据比较弱吧
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    五、【深基2.例6】字母转换

    题目描述

    输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。

    输入格式

    输出格式

    样例 #1

    样例输入 #1

    q
    
    • 1

    样例输出 #1

    Q
    
    • 1

    代码如下

    #include
    #include
    #include
    #include 
    
    int main()
    {
    	//hhh,一看到题目就有一个很不优雅的想法
    	char num;
    	scanf("%s",&num);
    
    	char n = (char)((int)num - 32);
    	printf("%c\n",n);
    	return 0;	
    } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    SQL 改写系列七:谓词移动
    程序员的产品思维
    Meta 推出新型多模态 AI 模型“变色龙”(Chameleon),挑战 GPT-4o,引领多模态革命
    软件杯 深度学习 opencv python 公式识别(图像识别 机器视觉)
    合合信息、上海大学、华南理工大学发布业内首个古彝文编码“大字典” ,为古文字打造“身份证”
    Linux Troubleshooting 超实用系列 - Disk Analysis
    技术分歧,如何决策?
    69 RGB图像转单色位图
    《爱的艺术》读书笔记
    4.2 Inline Hook 挂钩技术
  • 原文地址:https://blog.csdn.net/weixin_62529383/article/details/126004849