C语言日常练习 Day15

目录

一、猴子吃桃问题。

二、两个乒乓球队进行比赛,各出3个人。甲队为A,B,C3人,乙队为X,Y,Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比赛,C说他不和X,Z比赛,请编程程序找出3对赛手的名单

[三、选择法对 10 个数排序](#三、选择法对 10 个数排序)


一、猴子吃桃问题。

猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩下一个桃子了。求第1天共摘了多少个桃子。

根据题目描述,我们可以知道:

  • 第10天早上剩下1个桃子。
  • 第9天早上剩下的桃子数量是(第10天剩下的桃子数量+1)*2,因为第10天猴子吃了一半多一个。
  • 以此类推,我们可以逆向推算出第1天猴子摘了多少个桃子。

代码如下:

cpp 复制代码
#include <stdio.h>
int main()
{
	int day=10;
	int last=1;
	int i;
	while(day>1)
	{
		last=(last+1)*2;
		day--; 
	}
	printf("%d",last);
	return 0;
}

运行结果:

二、两个乒乓球队进行比赛,各出3个人。甲队为A,B,C3人,乙队为X,Y,Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比赛,C说他不和X,Z比赛,请编程程序找出3对赛手的名单

代码如下:

cpp 复制代码
#include <stdio.h>
int main()
{
	char A, B, C;
	for (A = 'X'; A <= 'Z'; A++) 
	{
		for (B = 'X'; B <= 'Z'; B++)
		{
			if (A != B)//确保不将同一队的队员配对
			{
				for (C = 'X'; C <= 'Z'; C++)
				{
					if (A != C && B != C)//确保不将同一队的队员配对
					{
						if (A != 'X' && C != 'X' && C != 'Z')//A不和X比赛,C不和X、Z比赛
						 {  
							printf("A vs %c\n", A);
							printf("B vs %c\n", B);
							printf("C vs %c\n", C);
						}
					}
				}
			}
		}
	}


	
	return 0;
}

运行结果如下:

三、选择法对 10 个数排序

选择排序的题已经出现了很多,详情可以查看C语言日常练习 Day6

代码如下:

cpp 复制代码
#include <stdio.h>
void selection_sort(int arr[],int n)
{
	int i,j,temp,max;
	for(i=0;i<n-1;i++)
	{
		max=i;
		for(j=i+1;j<10;j++)
		{
			if(arr[j]>arr[max])
			{
				max=j;
			}
		}
		temp=arr[max];
		arr[max]=arr[i];
		arr[i]=temp;
		
	}
}
int main()
{
	int i,n;
	int arr[10]={0};
	for(i=0;i<10;i++)
	{
		scanf("%d",&arr[i]);
	}
	n=sizeof(arr)/sizeof(arr[0]);
	selection_sort(arr,n);
	for(i=0;i<10;i++)
	{
		printf("%4d",arr[i]);
	}
	return 0;
}
相关推荐
铅笔小新z7 小时前
【C语言】操作符
c语言
by209999 小时前
从 malloc/free 到 new/delete:真正理解 C++ 中的内存管理与对象生命周期
c语言·c++·经验分享·动态内存管理
额额额对了9 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
Logic10110 小时前
C语言/数据结构位运算题解:异或XOR找出书柜中编号只出现一次的那一层——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic10112 小时前
C语言/数据结构位运算题解:异或XOR找出星球探险中的“独特能量石“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Escalating_xu13 小时前
【C 语言】深入理解指针(3):字符指针、数组指针、二维数组传参、函数指针与转移表
java·c语言·开发语言
垆边人似月.13 小时前
华为机考题:最小代价爬楼梯
c语言·c++
垆边人似月.14 小时前
华为机考题:二叉树的最大路径和
c语言·c++
程序猿编码14 小时前
不用 PyTorch!纯 C 实现 N 维张量 + 反向传播,完成手写数字识别训练
c语言·人工智能·pytorch·神经网络·卷积神经网络·大模型推理
Navigator_Z15 小时前
LeetCode //C - 1269. Number of Ways to Stay in the Same Place After Some Steps
c语言·算法·leetcode