2024.7.16c基础

第一题:求1000以内的质数。

第二题:输入4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

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

第四题:判断最大值 定义一个无符号的整型数组,求数组中的最大值。

#include<stdio.h>
void is_prime();//第一题

int main()
{
is_prime();
return 0;
}

void is_prime()
{
	int num = 2;
	printf("1-1000内的质数:\n");
	for (int i = num; i < 1000; i++)
	{
		int flag = 0;
		for (int j = 2; j < i; j++)
		{
			if (i % j == 0)
			{
				flag = 1;
				break;
			}
			if (flag == 0)
			{
				printf("%d\n", i);
			}
		}
	}
}
#include<stdio.h>
void different_three_num();//第二题
int main()
{
different_three_num();
return 0;
}
void different_three_num()
{
	int num1, num2, num3, num4;
	int count = 0;

	printf("请输入四个数字:\n");
	scanf("%d%d%d%d", &num1, &num2, &num3, &num4);

	// 验证输入数字是否在0到9之间,这里简单处理
	if (num1 < 0 || num1 > 9 || num2 < 0 || num2 > 9 ||
		num3 < 0 || num3 > 9 || num4 < 0 || num4 > 9)
	{
		printf("输入数字不合法,请输入0到9之间的数字。\n");
		return;
	}
	else
	{
		for (int i = 100; i <= 999; i++)
		{
			int bit1 = i / 100;
			int bit2 = (i % 100) / 10;
			int bit3 = i % 10;

			if (bit1 == num1 || bit1 == num2 || bit1 == num3 || bit1 == num4 ||
				bit2 == num1 || bit2 == num2 || bit2 == num3 || bit2 == num4 ||
				bit3 == num1 || bit3 == num2 || bit3 == num3 || bit3 == num4)
			{
				printf("%d\n", i); // 注意这里需要加分号
				count++;
			}
		}
		printf("共有%d个不同的3位数。\n", count);
	}
	getchar(); // 读取并丢弃换行符
}
#include<stdio.h>
void monkey_eat_banana();//第三题

int main()
{
 monkey_eat_banana();
return 0;
}
void monkey_eat_banana() {
	printf("请输入天数:\n");
	int day;
	scanf("%d", &day);
	int banana = 1;
	for (int i = 1; i <= day; i++) {
		banana = (banana + 1) * 2;
	}
	printf("第一天共摘了%d个桃子\n", banana);
	getchar(); // 读取并丢弃换行符
}
#include<stdio.h>//第四题
int main()
{
	unsigned int arr[100];
	int i = 0;
	int flog = 0;
	unsigned num = 0;
	printf("请输入一个数确定数组长度:");
	scanf("%d", &i);
	for (int j = 0; j < i; j++)
	{
		printf("请输入第%d个整数:", j + 1);
		scanf("%d", &arr[j]);
	}
	printf("输入的数组是:");
	for (int j = 0; j < i; j++)
	{
		printf("%d ", arr[j]);
		if (num < arr[j])
		{
			num = arr[j];
		}
	}
	printf("\n");
	printf("数组中最大的数是:%d\n", num);
	return 0;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值