笔记,getchar ,平均值,随机值

C语言单词统计3种解法对比:状态机、边界检测与getchar()性能实测 本文对比了C语言中统计单词数量的三种解法:边界检测法、状态机法和getchar()直接处理法。通过性能测试和代码分析,展示了每种方法在效率、内存使用和可读性上的优劣,帮助开发者根据实际需求选择最佳方案。状态机法在可读性和扩展性上表现突出,而getchar()法则在性能上更胜一筹。 阅读详情
int main( )
{
    char ch = 0;
    while ((ch=getchar( )) !=EOF)
    {
        printf("%c",ch);
    }
return 0;
}

此代码不断接收标准输入的一个字符并输出,EOF(end of file)文件结束字符,win系统输入用ctrl+z,os系统用control+d。



int main()
{
	int m = 3;
	int n = 5;
	
	int average = (m&n)+((m^n)>>1);
	printf("%d\n", average);
}

平均值的一种高端算法,每个数转换为二进制是可看作是二进制种奇数位和偶数位的和,就是两个数求平均值时按照每位进行比较,每位的值如果相同则其这些相同位的和必然相等,仅需对不同的位进行求平均。

按位 与 时将两数不同位的为零,相同为0依然为零,同为1依然为1。

按位异或时将不同的为1,这时用向后移位即可取平均,两部分相加即为平均值。


#include <Windows.h>
#include <time.h>

srand((unsigned int)time(NULL));

num = rand()%100;

需要引Windows和time头文件,用stand函数和time函数声明,需要用时用rand函数。%100是为了将范围缩小在0~100之间。

至于原因现在还没有完全明白,后期再做补充。


C语言期末复习指南:核心考点详解与编程实战解析 C语言作为一门贴近硬件的编程语言,其核心在于对数据类型、内存管理和程序流程的精确控制。理解其底层原理,如指针的本质是内存地址、数组的连续存储特性以及函数的调用机制,是掌握这门语言的关键。这些基础概念不仅构成了程序运行的基石,也直接决定了代码的性能与安全性。在工程实践中,熟练运用指针进行高效的数据操作、通过结构体组织复杂信息以及利用文件操作实现数据持久化,是解决实际问题的必备技能。对于面临期末复习或技术面试的学习者而言,深入剖析【指针与内存管理】的常见陷阱,并通过【字符串处理】等经典例题构建解题思维,能够有效 阅读详情

相关推荐

平均值函数c语言_C程序——计算三个数的平均值(增加程序可读性)

计算三个用户所输入三个数的平均值,程序比较简单,为C语言入门的人提供代码。/*计算三个数的平均值的程序*/ #include<stdio.h> #include<math.h> //包含程序中函数abs()的头文件 int main() { int num1,num2,num3; //声明待计算的三个数的变量 double mean=0; //声明平均值变量,变量...

weixin_39731107的博客 5029

srand((unsigned int)time(NULL))引发的思考

这几天刷题碰到这句函数:srand((unsigned int)time(NULL)) 一看之下,有点印象,但就是说不清楚,挺气人的,就想着弄明白这个东西跟大家分享分享 1,srand跟rand的关系: 2,time函数的简单用法; 3,参数执行的优先级

L未若的博客 3万+

fibplus-8.0.0.zip

FIBPlus 是一套面向 Delphi / C++Builder 的 Firebird、InterBase 数据库访问组件,特点是直接走原生客户端 API,不经 BDE/ODBC,速度快且可控性强。8.0.0 版本主要适配 Delphi 2009 及以后的版本(Delphi 6–2007 需用 7.9.x),核心组件包括 TpFIBDatabase、TpFIBTransaction、TpFIBDataSet 等,支持精细事务管理、本地缓存、BLOB 处理和备份恢复等数据库服务。该库原为 Devrace 的商业组件,现由社区在 GitHub 的 madorin/fibplus 项目开源维护,建议从官方仓库获取源码而非第三方网盘压缩包。安装时解压后用对应版本的工程组(10.4+ 统一为 `FIB.groupproj`)Build 全部包,再 Install `dclFIB` 并在 Library 路径加入 Source 目录即可。新项目中若需官方技术支持,也可考虑 FireDAC、IBDAC 等更现代的替代方案。

stand((unsigend)time(NULL))使用

#stand((unsigend)time(NULL)) stand((unsigned)time(NULL))是初始化随机函数种子,可以为rand()产生伪随机数下一个“种子”。“种子”给rand()函数赋一个初值,但是如果初值一样,产生的伪随机数规律就相同,达不到随机的效果(有必要说明:计算机无法真正的产生随机数,而是将一些已经编好的无规则数字存储在电脑中,由stand()函数获取编号,rand()按序获取数字,所以说“初值一样,就达不到随机的效果)。 而strand((unsigned)time(NU

qq_51481704的博客 1781

非root用户如何在CentOS7集群上编译安装OpenFOAM6

本文详细介绍了在CentOS7集群上以非root用户身份编译安装OpenFOAM6的完整流程。通过环境准备、依赖包离线获取、源码编译安装等步骤,解决了集群环境下权限和依赖问题,特别针对OpenMPI和Boost库提供了优化配置建议,帮助用户高效完成安装并优化性能。

weixin_28826961的博客 681

大模型在心律失常预测及治疗方案制定中的应用研究报告

目录一、引言1.1 研究背景与意义1.2 研究目的与方法1.3 研究创新点二、大模型技术概述2.1 大模型基本原理2.2 常见大模型类型及特点2.3 大模型在医疗领域的应用现状三、心律失常的术前预测与准备3.1 术前心律失常预测的重要性3.2 大模型在术前预测中的应用案例3.3 基于预测结果的术前准备方案四、术中监测与实时调整4.1 术中监测心律失常的方法与技术4.2 大模型辅助术中决策的机制4.3 实时调整手术方案的策略与实践五、术后恢复与并发症风险预测5.1 术后心律失常的监测与评估5.2 大模型预测术

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1596

1054 求平均值 (20分)C语言实现

PAT (Basic Level) Practice (中文) 公告 原PAT网站用户可在 https://patest.cn/bind_old_pat_user 页面绑定至拼题A账号。绑定后,原PAT网站的提交将被合并至拼题A网站用户的对应题目集中。 返回 1054 求平均值 (20分) 本题的基本要求非常简单:给定 N 个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法...

qq_41348545的博客 2016

Moveit +Gazebo:搭建单臂机械臂仿真平台

Moveit +Gazebo:搭建单臂机械臂仿真平台

magic_invaid的博客 5290

C语言实现-输入多个数计算平均值、排序(随机个数)

C语言实现-输入多个数计算平均值、排序(随机个数)

2301_79578379的博客 2170

scGPT-spatial 复现

文章摘要:Spatial scGPT项目复现流程 本文详细介绍了复现Spatial scGPT项目的完整流程,包含数据预处理、模型训练等关键步骤。首先需要使用scanpy加载H5AD文件并进行归一化、对数变换等预处理。然后构建基因词汇表(vocab),提取基因表达值和空间坐标信息。接着使用DataCollator进行数据分箱、掩码和填充处理。最后搭建TransformerModel进行训练。文章特别指出了需要自行补全的缺失部分,包括基因词汇表构建、空间坐标提取、数据集类定义和训练主循环脚本等。作者还提供了详

victory0431的博客 1683

硬件工程师的破局之路:为何你才是考取软考高级架构师的“天选之子”?

硬件工程师如何转型系统架构师:独特优势与实战路径 文章揭示了硬件工程师在考取系统架构设计师证书时的独特优势。作者指出,硬件工程师的全局思维、接口设计能力和可靠性经验正是系统架构的核心要素。通过将硬件经验升维为架构思维(从引脚到接口、从单板到系统、从实现到权衡),硬件背景反而成为竞争优势。文章建议通过知识补全、建立架构决策日志和术语转换练习来备考,并强调硬件工程师在软硬协同时代的独特价值——既能统领硬件设计,又能为软件搭建最佳舞台。文末鼓励硬件工程师以更高视野看待职业发展,将系统架构师认证视为水到渠成的职业升

云轩阁 532

分屏处理数据系统

运用switch语句进行处理,定义一个ch,getchar()进行读入处理(由于使用char,所以需要加入' '),使用k,m来保证独立性,确保下一页和查询不起冲突。遍历二维数组比较最大最小等,根据题目要求在每一屏显示后停顿等待用户下一步命令,所以加入停顿的处理(system("pause"))。随机产生1000个数,并分屏显示(每行显示10个数字,每页显示10行),而且在每一屏的下方显示本屏中数据的最大值、最小值和平均值。首先定义二维数组用来划分每一屏,并且是每一屏都生成随机数(参考),记录入数组中。

2301_80027050的博客 936

1. BES2700ZP概述

恒玄BES2700采用RTX5操作系统,配合mindmics算法或者自研算法。

雪飞_海 4467

信息学奥赛 NOI 1.12 03 题解:3种C++输入输出方案性能对比

本文深入分析了信息学奥赛(NOI)中三种C++输入输出方案的性能差异,包括标准cin/cout、C风格scanf/printf和自定义快读快写函数。通过实际测试数据,揭示了它们在不同数据规模下的表现,并提供了针对竞赛环境的优化建议,帮助选手在关键时刻提升程序运行效率。

weixin_34378767的博客 429

恒玄BES调试笔记-BES2500如何打开COMPEXP

打开Compressor and expander会占用资源,这个根据个人项目需求而定吧!打开方法,以及参数修改如下: config\best2300a_ibrt_anc\target.mk SPEECH_RX_COMPEXP ?= 1 apps\audioplayers\bt_sco_chain_cfg_default.c #if defined(SPEECH_RX_COMPEXP) /*****************************************************

leezs的博客 706

UE5实现距离测量功能

UE5实现距离测量功能

专注GIS开发 6265

VC++6.0中C语言键盘输入与整数计算实战指南

在C语言编程中,标准输入输出是程序与用户交互的基础。通过scanf和printf等函数,程序能够从键盘读取数据并将结果输出到屏幕,这背后涉及数据在内存中的流转与格式化处理。理解输入缓冲区的机制对于编写健壮的程序至关重要,它能有效避免因残留字符导致的输入异常。这些技术不仅巩固了变量、运算符和表达式等核心概念,还为后续学习数组、函数和文件操作打下坚实基础。在VC++6.0这一经典开发环境中,正确处理整数输入与计算,尤其需要注意其特有的编译规则和调试技巧,例如变量声明位置和缓冲区清空方法。掌握这些知识,能够帮助初

weixin_30765577的博客 288

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C语言入门:从变量、运算符到输入输出,掌握编程计算核心

编程的本质是对数据的计算与处理,而变量、数据类型和运算符构成了这一过程的基石。变量作为数据的容器,其类型决定了内存占用和可执行的操作,如整数与浮点数的区别直接影响除法运算的结果。运算符则定义了数据间的交互规则,优先级和结合性决定了表达式的求值顺序,这是编写正确逻辑的关键。在实际工程中,格式化输入输出(printf/scanf)是与用户交互的桥梁,但类型匹配、缓冲区处理等细节常成为初学者的陷阱。理解这些基础概念,不仅能避免常见的运行时错误,更能为后续学习数组、函数等复杂结构打下坚实基础。本文聚焦C语言中的计算

weixin_34354945的博客 414

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C语言30天速通:零基础到项目实战与就业接单指南

C语言作为一门经典的编程语言,其核心价值在于提供了对计算机底层内存和硬件的直接控制能力,是理解计算机系统原理和进行系统级开发的基石。从语法基础到指针、内存管理等核心概念,其学习路径遵循从基础到进阶的工程实践逻辑。掌握C语言不仅能构建扎实的编程思维,更是进入嵌入式开发、操作系统、高性能计算等核心领域的关键。对于初学者而言,一套结构清晰、注重实战的学习方案至关重要。本文聚焦于【30天速通】与【实战项目】两大核心,提供了一条从零基础到具备完成控制台应用、管理文件数据、进行动态内存分配等能力的系统化路径。该路径通过

weixin_30820077的博客 423

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C语言求最大值:从if-else到数组循环的三种实现与选型

在C语言编程中,条件分支和循环控制是构建程序逻辑的核心基础。if-else语句通过判断条件执行不同分支,实现流程控制;而循环结构则允许对一组数据重复执行相同操作。这些基础语法共同支撑起数据处理的基本模式,如遍历、比较和更新,是解决众多实际问题的技术基石。在工程实践中,代码的可读性、可维护性和扩展性至关重要。以经典的“求最大值”问题为例,直接使用if-else分支虽然直观,但扩展性差;引入中间变量或三目运算符可以简化逻辑;而结合数组与循环的通用化解法,则能优雅地处理任意数量的数据,体现了从解决特定问题到构建通

weixin_30314813的博客 334

C语言编程实战:52个练手题助你从理论到实践

C语言作为编程世界的基石,其核心在于对计算机底层逻辑的直接操控能力。理解其概念与原理,如指针、内存管理和文件I/O,是掌握系统编程和嵌入式开发的关键。这些技术价值在于培养清晰的“内存视图”和健壮的编程习惯,广泛应用于操作系统、驱动开发和高性能计算等领域。通过大量、密集的“微操”训练,如字符串处理和动态内存管理,可以将语法知识内化为编程直觉。本文聚焦于52个C语言练手题,涵盖从基础语法到综合项目的完整学习路径,帮助初学者跨越“懂了但不会用”的断层,通过模拟真实开发场景,构建循序渐进的技能阶梯。

weixin_34375251的博客 341

腾讯qq群推广“一键加群”的一个细节

刚才我们的新版产品要上线了,需要改一个“一键加群”的链接,我第一次使用这个功能,所以才被一个细节坑了,如下操作: 然后跳转到一个页面,”网页代码“地址类似: 时间仓促,复制了idkey就去测试了,但地址一直不是所需求的群,为了最快解决,我把其他所有的群都退出,弄完之后我仔细看了下这个推广的东西的问题所在。 我建立了一个群test,推广、打开链接,没问题;我又建了个群test2,推

Vic 8037

生成指定范围的一组随机数并求平均值

Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值,是Java语言常用代码。 随机数生成20~90之间的数值,并求平均数: public class Random01 { public static void main(String[] args) { int len = 5; int sum = 0; int[] ...

weixin_33881753的博客 3660

C语言 getchar()函数详解

getchar()函数机制 getchar()函数实际上是int getchar(void),所以它返回的是ASCII码,所以只要是ASCII码表里有的字符它都能读取出来。在调用getchar()函数时,编译器会依次读取用户键入缓存区的一个字符(注意这里只读取一个字符,如果缓存区有多个字符,那么将会读取上一次被读取字符的下一个字符),如果缓存区没有用户键入的字符,那么编译器会等待用户键入并回车后再执行下一步 (注意键入后的回车键也算一个字符,输出时直接换行)。 来几个例子: int main() { ch

Huang_WeiHong的博客 13万+
上一篇: 18-3-12 练习 素数 乘法表
下一篇: C语言操作符
Ruichen_L
博客等级 码龄9年 5粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值