C语言习题2.0

C语言习题1.0

C语言习题-CSDN博客

目录

C语言习题1.0

C语言习题-CSDN博客

找一个数字的连续因子

求N个分数的和

正整数A+B

函数

预处理

文件处理

操作符


找一个数字的连续因子

//找连续因子,及其个数
int main()
{
	int a;
	scanf("%d", &a);
	int num = 0;  //储存连续因子的个数
	int min = 0;   //储存连续因子的起始位置
	int m;

	//从i开始向后找连续因子
	for(int i=2;i<sqrt(a);i++)
	{
		int t = a;
		for (m = i; m < a; m++)
		{
			if (t % m == 0)
				t /= m;
			else
				break;
		}
		if (m - i > num)
		{
			num = m - i;
			min = i;
		}
	}
	printf("%d\n", num);
	for (int i = min; i < min + num - 1; i++)
		printf("%d*", i);
	printf("%d", min + num - 1);
	
	return 0;
}

求N个分数的和

求N个分数的和,结果以整数和真分数的形式打印

//求N个分数的和

int gys(int x, int y)
{
	int t = x % y;
	while (t)
	{
		x = y;
		y = t;
		t = x % y;
	}
	return y;
}

int main()
{
	int a, b;
	int num;
	scanf("%d", &num);//读取有几个分数
	scanf("%d/%d", &a, &b);//先读取第一个分数
	int fz = 0, fm = 0;

	for (int i = 1; i < num; i++)
	{
		int c, d;
		scanf("%d/%d", &c, &d);  //读取第二个分数
		
		//求两个分母的最大公因数
		int gony = gys(b, d);
		//求最小公倍数即分母
		 fm = b * d / gony;
		//将分子通分
		 fz = a * fm / b + c * fm / d;
		 a = fz, b = fm;
	}
	//此时所有的分子和分母多完成相加了
	//对分式进行化简,先找到最大公因数
	int t = gys(fz, fm);
	if (t)
	{
		fz /= t;
		fm /= t;
	}

	if (fz % fm == 0)   //能被整除
		printf("%d\n", fz / fm);
	else if (fz / fm == 0)   //是一个真分式
		printf("%d/%d\n", fz, fm);
	else          //是一个假分数
		printf("%d %d/%d", fz / fm, fz%fm, fm);

	return 0;
}

正整数A+B

//整数A+B
int main()
{
	char put[500];
	gets(put);
	int m1 = 1; //用m1来记录数字是否有效
	int m2 = 1;
	int t1 = 0, t2 = 0;   // 用t1和t2来保留数字
	int j=0;

	int num = strlen(put);
	//查找第一个数字
	for (int i = 0; i < num; i++)
	{
		if (put[i] == ' ')//如果等于空格
		{
			//首字符是空格则m1为0,即A为无效数字
			if (i == 0)
			{
				m1 = 0;
			}
			j = i + 1;   //第二个数字要从i+1开始查找
			break;
		}
		else if (put[i] >= '0' && put[i] <= '9')
		{
			t1 = t1 * 10 + put[i] - '0';
		}
		else   //其他情况就是包含无效字符,则A为无效数字
		{
			m1 = 0;
		}
	}

	//查找第二个数字
	for (int i = j; i < num; i++)
	{
		if (put[i] >= '0' && put[i] <= '9')
			t2 = t2 * 10 + put[i] - '0';
		else
		{
			m2 = 0;
			break;
		}
	}

	//打印
	//先答应A
	if (m1 == 0 || t1 < 1 || t1>1000)
		printf("? + ");
	else
		printf("%d + ", t1);
	//再打印B
	if (m2 == 0 || t2 < 1 || t2>1000)
		printf("? = ");
	else
		printf("%d = ", t2);
	//打印结果
	if ((m1 == 0 || t1 < 1 || t1>1000) || (m2 == 0 || t2 < 1 || t2>1000))
		printf("?");
	else
		printf("%d", t1 + t2);


	return 0;
}

函数

(C语言)函数-CSDN博客

1)函数的定义可以放在任意位置,函数的声明必须放在函数使用之前;

2)自定义函数具有高内聚低耦性:函数与函数之间的联系应该尽量小,函数内应尽量少的使用全局变量;

3)使用指针访问的时候,char*一次访问一个字节,short*一次访问两个字节;

4)在打印的时候,%d一次读取四个字节;%lld和%llx等整形即%f,%lf一次读取8个字节;

5)C语言中一个变量可以被多次定义,在不同函数中;

6)将14.99四舍五入为15————printf("%.0f",14.99);

预处理

预处理详解-CSDN博客

1)#define宏定义;

2)#if,#ifdef,#ifndef,#else,#elif,除此之外还有#if defined ....的用法。都属于条件编译指令。#pragme是一个比较复杂的预编译指令;

3)ifndef,define,endif是用来解决同一文件重复包含相同文件的;

4)预处理只会处理#开头的语句,编译阶段只校验语法,链接时才会找实体。

文件处理

(C语言)文件操作-CSDN博客

1)文件名可以不包含后缀名,后缀名决定了文章的打开方式;

2)realloc函数可调整动态申请空间的大小,可大可小;

操作符

(C语言)操作符(全网最全,最详细)_c语言操作符大全-CSDN博客

1)用n|(n+1)来计算一个数二进制中0的个数,n&(n-1)来计算一个数中二进制中1的个数;

2)==的优先级比=高;

3)注意是传值还是传址;

4)new和delete成对使用,malloc和free成对使用;

5)字符常量用' ',字符串用''  '';

6)12a315156,在用%3d读取12a的时候,a是无效数字,不会被读取,但是也不会被舍去,会保留下来让下一个读取指令读取;

7)[  ]的优先级比*高;

8)getchar不像scanf一样,getchar会读取回车;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

flask flask-socketio创建一个网页聊天应用

应用所需环境&#xff1a; python 3.11.11 其他 只需要通过这个命令即可 pip install flask3.1.0 Flask-SocketIO5.4.1 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 最好是用conda创建一个新的虚拟环境来验证 完整的pip list如下 Package Version ----…

重拾设计模式--观察者模式

文章目录 观察者模式&#xff08;Observer Pattern&#xff09;概述观察者模式UML图作用&#xff1a;实现对象间的解耦支持一对多的依赖关系易于维护和扩展 观察者模式的结构抽象主题&#xff08;Subject&#xff09;&#xff1a;具体主题&#xff08;Concrete Subject&#xf…

正则表达式优化之算法和效率优化

正则表达式优化之算法和效率优化 前言 正则表达式是处理文本匹配的强大工具&#xff0c;但在实际应用中&#xff0c;如果不加以优化&#xff0c;可能会导致性能问题或匹配结果不精确。 本文将分三篇从表达式结构、算法效率和实际应用场景三个方面. 深入探讨如何优化正则表达…

workman服务端开发模式-应用开发-gateway长链接端工作原理

一、长链接的工作原理 Register类其实也是基于基础的Worker开发的。Gateway进程和BusinessWorker进程启动后分别向Register进程注册自己的通讯地址&#xff0c;Gateway进程和BusinessWorker通过Register进程得到通讯地址后&#xff0c;就可以建立起连接并通讯了。而Gateway进程…

排序算法 (插入,选择,冒泡,希尔,快速,归并,堆排序)

排序:经常在算法题中作为一个前置操作,为了之后的贪心or else做个铺垫,虽然我们经常都只是调用个sort,但是了解一些排序算法可以扩充下知识库 排序的分类: 从存储设备角度&#xff1a; ✓ 内排序&#xff1a;在排序过程中所有数据元素都在内存中&#xff1b; ✓ 外排序&a…

云途领航:现代应用架构助力企业转型新篇

在数字化转型的浪潮中&#xff0c;现代应用架构为企业带来了灵活性、效率和创新能力。各类服务模型相继出现&#xff0c;为企业提供了强有力的支持&#xff0c;助力其顺利转型。随着技术的快速发展&#xff0c;企业面临的挑战和机遇也在不断演变&#xff0c;这促使它们必须重新…

【IMU:视觉惯性SLAM系统】

视觉惯性SLAM系统简介 相机&#xff08;单目/双目/RGBD)与IMU结合起来就是视觉惯性&#xff0c;通常以单目/双目IMU为主。 IMU里面有个小芯片可以测量角速度与加速度&#xff0c;可分为6轴(6个自由度)和9轴&#xff08;9个自由度&#xff09;IMU&#xff0c;具体的关于IMU的介…

面试题整理3----nc命令的常见用法

面试题整理3----nc命令的常见用法 1. NC是什么2. NC的常用参数2.1 开启指定端口TCP监听(-l小写的L)2.2 测试端口是否能访问(-v)2.3 开启指定端口UDP监听(-u)2.4 端口扫描(-z)2.5 指定超时时间(-w)2.6 指定本地端口号连接(-p)2.7 指定的命令(-e) 1. NC是什么 nc&#xff08;Net…

ubuntu 如何重装你的apt【apt-get报错: symbol lookup error/undefined symbol】

副标题:解决error:apt-get: symbol lookup error: /lib/x86_64-linux-gnu/libapt-private.so.0.0: undefined symbol: _ZNK13pkgTagSection7FindULLENS_3KeyERKy, version APTPKG_6.0 文章目录 问题描述报错分析解决方案:重装你的apt1、查看你的ubuntu版本2、下载适配你的ap…

解决:excel鼠标滚动幅度太大如何调节?

在excel里为什么滚动一次跳过很多行呢&#xff1f;很不方便。。。 1. 问题&#xff1a; 一开始单元格从第1行开始&#xff1a; 鼠标轻轻滚动一下后&#xff0c;直接跳到第4行&#xff1a; 鼠标在word和浏览器里都是好好的。在excel里为什么不是滚动一次跳过一行呢&#xff…

VMWare 的克隆操作

零、碎碎念 VMWare 的这个克隆操作很简单&#xff0c;单拎出来成贴的目的是方便后续使用。 一、操作步骤 1.1、在“源”服务器上点右键&#xff0c;选择“管理--克隆” 1.2、选择“虚拟机的当前状态”为基础制作克隆&#xff0c;如下图所示&#xff0c;然后点击“下一页” 1.3、…

ARM 处理器平台 Ethernet Compliance 测试流程示例

By Toradex秦海 1). 简介 为了保证基于IEEE 802.3 协议设计的以太网设备接口可以互相兼容互联互通&#xff0c;需要进行 Ethernet Compliance 一致性测试&#xff0c;相关的技术原理说明请参考如下文章&#xff0c;本文就不赘述&#xff0c;主要展示基于 NXP i.MX8M Mini ARM…

门控循环单元(GRU):深度学习中的序列数据处理利器

目录 ​编辑 引言 GRU的诞生背景 GRU的核心机制 GRU的计算过程 GRU的数学公式 GRU的应用领域 代码示例&#xff1a;PyTorch中的GRU GRU与LSTM的比较 参数比较 GRU的技术发展 BiGRU&#xff08;双向GRU&#xff09; BiGRU的实现示例 GRU与CNN的结合 GRU的应用案例…

C#都可以找哪些工作?

在国内学习C#&#xff0c;可以找的工作主要是以下4个&#xff1a; 1、游戏开发 需要学习C#编程、Unity引擎操作、游戏设计和3D图形处理等。 2、PC桌面应用开发 需要学习C#编程、WinForm框架/WPF框架、MVVM设计模式和UI/UX设计等。 3、Web开发 需要学习C#编程、ASP.NET框架…

视频直播点播平台EasyDSS与无人机技术的森林防火融合应用

随着科技的飞速发展&#xff0c;无人机技术以其独特的优势在各个领域得到了广泛应用&#xff0c;特别是在森林防火这一关键领域&#xff0c;EasyDSS视频平台与无人机技术的融合应用更是为传统森林防火手段带来很大的变化。 一、无人机技术在森林防火中的优势 ‌1、快速响应与高…

【编译原理】编译原理知识点汇总·词法分析器(正则式到NFA、NFA到DFA、DFA最小化)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;编译原理_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …

SAP抓取外部https报错SSL handshake处理方法

一、问题描述 SAP执行报表抓取https第三方数据,数据获取失败。 报错消息: SSL handshake with XXX.COM:449 failed: SSSLERR_SSL_READ (-58)#SAPCRYPTO:SSL_read() failed##SapSSLSessionStartNB()==SSSLERR_SSL_READ# SSL:SSL_read() failed (536875120/0x20001070)# …

java栈

前言 java实现数据结构栈&#xff1a;用顺序表存储的栈和数组存储的栈。 本文源代码网址&#xff1a;https://gitee.com/zfranklin/java/tree/master/dataStructure/src/com/njupt/stack https://gitee.com/zfranklin/java/tree/master/dataStructure/src/com/njupt/stack 栈…

「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具

本篇将带你实现一个评分统计工具&#xff0c;用户可以对多个选项进行评分。应用会实时更新每个选项的评分结果&#xff0c;并统计平均分。这一功能适合用于问卷调查或评分统计的场景。 关键词 UI互动应用评分统计状态管理数据处理多目标评分 一、功能说明 评分统计工具允许用…

使用 AI 辅助开发一个开源 IP 信息查询工具:一

本文将分享如何借助当下流行的 AI 工具,一步步完成一个开源项目的开发。 写在前面 在写代码时&#xff0c;总是会遇到一些有趣的机缘巧合。前几天&#xff0c;我在翻看自己之前的开源项目时&#xff0c;又看到了 DDNS 相关的讨论。虽然在 2021 年我写过两篇相对详细的教程&am…