C语言代码练习(第十六天)

news2024/9/20 7:47:34

今日练习:

40、编写程序,用 getchar 函数读入两个字符给c1和c2,然后分别用 putchar 函数和 printf 函数输出这两个字符。

41、输入4个整数,要求按由小到大的顺序输出。

42、有4个圆塔,圆心分别为(2.2)、(-2, 2)、(-2. - 2)、(2, -2),圆半径为1,这4个塔的高度为10cm,塔外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为0)。

43、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

44、求1!+ 2!+ ... + 20!

编写程序,用 getchar 函数读入两个字符给c1和c2,然后分别用 putchar 函数和 printf 函数输出这两个字符。

运行代码

int main()
{
	char character_1 = '0';
	char character_2 = '0';
	printf("请输入两个字符:\n");
	character_1 = getchar();
	character_2 = getchar();
	printf("用putchar语句输出结果为:");
	putchar(character_1);
	putchar(character_2);
	printf("\n");
	printf("----------------------\n");
	printf("用printf语句输出结果为:");
	printf("%c%c\n", character_1, character_2);
	return 0;
}

运行结果

输入4个整数,要求按由小到大的顺序输出。

运行代码

方法一

int main()
{
	int temp = 0;
	int num1 = 0;
	int num2 = 0;
	int num3 = 0;
	int num4 = 0;
	printf("请输入四个数:");
	scanf("%d %d %d %d", &num1, &num2, &num3, &num4);
	if (num1 > num2)
	{
		temp = num1;
		num1 = num2;
		num2 = temp;
	}
	if (num1 > num3)
	{
		temp = num1;
		num1 = num3;
		num3 = temp;
	}
	if (num1 > num4)
	{
		temp = num1;
		num1 = num4;
		num4 = temp;
	}
	if (num2 > num3)
	{
		temp = num2;
		num2 = num3;
		num3 = temp;
	}
	if (num2 > num4)
	{
		temp = num2;
		num2 = num4;
		num4 = temp;
	}
	if (num3 > num4)
	{
		temp = num3;
		num3 = num4;
		num4 = temp;
	}
	printf("排序后的结果:\n");
	printf("%d %d %d %d", num1, num2, num3, num4);
	return 0;
}

方法二 

int main()
{
	int i = 0;
	int j = 0;
	int temp = 0;
	int arr[4];
	int* p;
	printf("请输入4个数:");
	for (i = 0; i < 4; i++)
	{
		scanf("%d", &arr[i]);
	}
	p = arr;
	for (i = 0; i < 3; i++)
	{
		for (j = i + 1; j < 4; j++)
		{
			if (*(p + i) > *(p + j))
			{
				temp = *(p + i);
				*(p + i) = *(p + j);
				*(p + j) = temp;
			}
		}
	}
	printf("由大到小排序后的:");
	for (i = 0; i < 4; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
	return 0;
}

运行结果

有4个圆塔,圆心分别为(2.2)、(-2, 2)、(-2. - 2)、(2, -2),圆半径为1,这4个塔的高度为10cm,塔外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为0)。

解题思路

判断这点到各个圆心的距离,如果大于1,证明在塔内,高度为10,否则高度为0。

运行代码

int main()
{
	int height = 10;
	float x1 = 2, x2 = -2, x3 = -2, x4 = 2;
	float y1 = 2, y2 = 2, y3 = -2, y4 = -2;
	float x, y, d1, d2, d3, d4;
	printf("请输入一个点坐标(x,y):");
	scanf("%f%f", &x, &y);
	d1 = (x - x4) * (x - x4) + (y - y4) * (y - y4);//求该点到各中心点距离
	d2 = (x - x1) * (x - x1) + (y - y1) * (y - y1);
	d3 = (x - x2) * (x - x2) + (y - y2) * (y - y2);
	d4 = (x - x3) * (x - x3) + (y - y3) * (y - y3);
	if (d1 > 1 && d2 > 1 && d3 > 1 && d4 > 1)//判断该点是否在塔外
	{
		height = 0;
	}
	printf("该点的高度为%d\n", height);
	return 0;
}

运行结果

输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

运行代码

int main()
{
	char input_Character = '0';
	int letters = 0;
	int space = 0;
	int digit = 0;
	int other = 0;
	printf("请输入一行字符:");
	while ((input_Character = getchar()) != '\n')
	{
		if (input_Character >= 'a' && input_Character <= 'z' || input_Character >= 'A' && input_Character <= 'Z')//如果是字母
		{
			letters++;
		}
		else if (input_Character == ' ')
		{
			space++;
		}
		else if (input_Character >= '0' && input_Character <= '9')
		{
			digit++;
		}
		else
		{
			other++;
		}
	}
	printf("字母:%d个\n", letters);
	printf("空格:%d个\n", space);
	printf("数字:%d个\n", digit);
	printf("其他字符:%d个\n", other);
	return 0;
}

运行结果

 求1!+ 2!+ ... + 20!

运行代码

int main()
{
	double sum = 0;
	double temp = 1;
	int i = 0;
	for (i = 1; i <= 20; i++)
	{
		temp = temp * i;
		sum = sum + temp;
	}
	printf("结果是:%22.15e\n", sum);
	return 0;
}

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2113259.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

笔记 13 : 彭老师课本第 8 章, UART ,概念,帧格式 , 工作原理,模块介绍,查看原理图 与 datasheet ,GPIO 组态 ,寄存器介绍

&#xff08;94&#xff09; 开始学习通信。通信谢意要考虑时钟同步&#xff0c;是否双工通信&#xff0c;并行或串行通信等等&#xff1a; 低速协议用 uart &#xff0c; iic &#xff0c; spi &#xff0c; 高速协议用 pci 。can 总线支持远距离传输&#xff0c;如门禁&a…

Cursor 使用 One API 配置 Anthropic Claude BaseURL 代理指南

背景 Cursor IDE 原生只支持配置 ChatGPT 的 API Base URL,无法直接使用 Anthropic Claude 的 API。 本指南将介绍如何通过One API来解决这个问题,实现在Cursor中使用Claude API。 前置条件 部署One API https://github.com/songquanpeng/one-api 获取Anthropic Claude A…

做运营,发布时间很重要

声明&#xff1a;此篇为 ai123.cn 原创文章&#xff0c;转载请标明出处链接&#xff1a;https://ai123.cn/#1 作为社交网络与媒体行业的内容运营&#xff0c;我常常被以下问题困扰&#xff1a;用户活跃时间难以预测、内容策划时间紧张、跨平台管理复杂、数据分析繁琐、创意枯竭…

力扣 797. 所有可能路径【DFS】

1. 题目 2. 代码 DFS &#xff0c; 直接见代码 class Solution { public:vector<int> path;vector<vector<int>> res; // 结果集void dfs(vector<vector<int>>& graph, int cur, int n){// 找出所有从节点 0 到节点 n-1 的路径// 下标从 …

深入解析 Dubbo 的 attachments 机制及其应用场景

背景 在分布式系统中&#xff0c;服务之间的调用&#xff08;RPC调用&#xff09;是非常常见的。而在这种服务调用过程中&#xff0c;常常需要在不同服务之间传递一些上下文信息&#xff0c;比如用户身份信息、请求追踪ID、客户端IP等。Dubbo 提供的 attachments 机制&#xf…

SysML图例-洗衣机

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>> 对于许多学习SysML和MBSE的同学来说&#xff0c;比较头痛的问题之一是&#xff1a; 各种各样的教程里给出的案例&#xff0c;图都是画好了的&#xff01;如何从零开始用建模…

LTspice模拟CCM和DCM模式的BUCK电路实验及参数计算

关于BUCK电路的原理可以参考硬件工程师炼成之路写的《 手撕Buck&#xff01;Buck公式推导过程》.实验内容是将12V~5V的Buck电路仿真,要求纹波电压小于15mv. CCM和DCM的区别: CCM:在一个开关周期内&#xff0c;电感电流从不会到0. DCM:在开关周期内&#xff0c;电感电流总会到0.…

缓存类型以及读写策略

缓存&#xff08;Cache&#xff09;是一种高效的数据存储技术&#xff0c;旨在提高数据访问速度。 它将频繁访问或最近使用的数据临时存储在更快速但较小的存储介质&#xff08;如内存&#xff09;中&#xff0c;以减少从较慢的存储设备&#xff08;如硬盘或远程服务器&#x…

聊一聊大型网站稳定性建设思路

目录 架构阶段的稳定性建设项目 编码阶段的稳定性建设 测试阶段的稳定性建设 发布阶段的稳定性建设 运行阶段的稳定性建设项目 故障发生时的稳定性建设 网站稳定性的建设是一项综合的系统工程&#xff0c;就像人的健康一样&#xff0c;如果平时不注意健康饮食、不注意锻炼…

浙大数据结构:02-线性结构4 Pop Sequence

这道题我们采用数组来模拟堆栈和队列。 简单说一下大致思路&#xff0c;我们用栈来存1234.....&#xff0c;队列来存输入的一组数据&#xff0c;栈与队列进行匹配&#xff0c;相同就pop 机翻 1、条件准备 stk是栈&#xff0c;que是队列。 tt指向的是栈中下标&#xff0c;fr…

C++入门(05-2)从命令行执行C++编译器_GCC

文章目录 GCC编译器1. 下载MinGW-w64&#xff0c;安装&#xff08;不推荐&#xff09;2. 使用MSYS2安装MinGW-w64&#xff08;推荐&#xff09;2.1 安装MSYS22.2 初始化和更新2.3 安装MinGW-w64编译器2.3 在MSYS2 Shell中导航到代码目录2.4 使用 g 编译2.5 运行可执行文件 GCC编…

【Qt】qt发布Release版本,打包.exe可执行文件

前言&#xff1a;Qt编译的可执行程序&#xff0c;如果直接运行&#xff0c;会出现0xc000007b报错&#xff0c;或者“由于占不到Qt5Network.dll,无法继续执行代码。重新安装程序可能会解决此问题”的报错&#xff0c;因为缺少相关的依赖包和动态库。 1、第一步&#xff1a;找到…

仕考网:大三能考公务员吗?

本科生在大三阶段不具备报考资格&#xff0c;因为尚未完成学业并不是应届生。专科生在大三时则属于应届生&#xff0c;有资格参加公务员考试。 公务员报考条件包括&#xff1a; 1.国籍; 2.年龄于18至35周岁之间&#xff0c;对于当年毕业的硕士或博士研究生&#xff0c;年龄限…

Python: #!/usr/bin/python3 #!/usr/bin/env python3

只能放在第一行&#xff0c;第二行就没有效果了。 1. 路径不同 #!/usr/bin/python3&& #!/usr/bin/env python3写在脚本语言第一行的目的是 想要以什么可执行程序去运行这个文件中的代码。 #!/usr/bin/python3是告诉操作系统执行这个脚本的时候&#xff0c;调用/usr/bin…

Linux之ebpf(3)uprobe与ebpf

Linux之ebpf(3)uprobe简要使用 Author: Once Day Date: 2024年9月5日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: Linux基础知识_Once-Day的博客…

心脑血管科张景龙医生:冠状动脉狭窄的症状与检查方法

冠状动脉狭窄作为一种常见的心血管疾病&#xff0c;其症状的出现往往与心肌供血不足密切相关。了解这些症状以及如何进行准确的检查&#xff0c;对于及早发现、诊断和治疗冠状动脉狭窄至关重要。本文将详细介绍冠状动脉狭窄的常见症状及检查方法。 冠状动脉狭窄的常见症状 1、…

电路笔记 控制(PID):Proportional–integral–derivative controller 比例-积分-微分控制器与仿真

PID控制&#xff08;Proportional-Integral-Derivative Control&#xff09;是一种常用的反馈控制算法&#xff0c;广泛应用于自动控制系统中。PID控制器通过对比例、积分和微分三项的计算&#xff0c;生成控制输出来调节系统的行为&#xff0c;以使其达到期望的目标值。 PID控…

利用人类反馈优化文本摘要质量

人工智能咨询培训老师叶梓 转载标明出处 精准评估和提升模型生成文本的质量&#xff0c;尤其是自动文摘的质量&#xff0c;成为了一个日益突出的挑战。传统的评估方法&#xff0c;如ROUGE指标&#xff0c;虽然在一定程度上能够衡量摘要的相关性&#xff0c;但往往无法全面反映…

Java算法:最大间距

前言 在处理数据密集型应用时&#xff0c;提高查询性能显得尤为关键。 解决最大间隔问题——即确定一组数值中最宽的相邻元素距离——是此类任务中的一大挑战。 该问题不仅在算法竞赛中常见&#xff0c;也是软件工程师面试的一个焦点&#xff0c;解决方法多样&#xff0c;包…

【B题第三套完整论文已出】2024数模国赛B题第三套完整论文+可运行代码参考(无偿分享)

基于多阶段优化的电子产品质量控制与成本管理研究 摘要 随着现代制造业和智能化生产的发展&#xff0c;质量控制和生产优化问题成为工业管理中的重要研究课题。本文针对电子产品生产过程中质量控制和成本优化中的问题&#xff0c;基于系统优化和决策分析思想&#xff0c;通过…