C语言程序题(一)

一.三个整数从大到小输出

        首先做这个题目需要知道理清排序的思路,通过比较三个整数的值,使之从大到小输出。解这道题有很多方法我就总结了两种方法:一是通过中间变量比较和交换,二是可以用冒泡排序法(虽然三个数字排序用这个效率低,就是一块总结一下它的大概思路)。

中间变量比较和交换

       无论多乱顺序三个数之间都要进行比较(a与b,b与c,c与a),才能比较它们之间的大小。输出从大到小分别把这些数据进行交换,a显示的是三个数字中最大的,c则是最小的数字,其次就是b。

       在a和b中,需要比较a与b的大小,a需要三个数字最大的,所以a大于b的话就不需要进行交换,反之用中间变量t进行交换;然后再用a和b中最大的a与c比较,同样的原理大的值复制给a,小的则给另一个(只要有交换就需要用到中间变量t);最后就是b和c之间的大小比较了,同样c最小,把大的值赋值给b,小的值给c。这样下来三个数就比较好了,下面是代码:

int main()
{int a = 0;int b = 0;int c = 0;int t = 0;scanf("%d %d %d", &a, &b, &c);if (a < b)//比较a和b,大的值给a,小的值给b{t = b;b = a;a = t;}if (b < c)//比较b和c,大的值给b,小的值给c{t = c;c = b;b = t;}if (a < c)//比较a和c,大的值给a,小的值给c{t = c;c = a;a = t;}printf("%d %d %d\n", a, b, c);//从大到小输出return 0;
}
冒泡排序比较

       首先把这些个数依次放入数组里。然后进入第一次循环,先将前两个数进行从大到小(从小到大),把大的数放入前面,小(大)的放后面,再将小的数和下一个数比较继续小(大)的放后面,直至最后一个数是所有数中最小(大)的,这一趟下来需要比较n-1次;接着我讲下一趟,下一趟和之前差不多,就是数组中最后一个数已经确定了就不需要比大小了,所以两个数比较需要n-2;依次往下推,可以发现规律n-i(其中i为趟数)。(还有这里的趟数是从1开始的)

       那需要多少趟呢?按照上面所说的,一趟则确定一个无序数列中最小(大)的,那就需要n趟。但是呢,你想想看就三个数而言,已经确定了两个数那最后一个也确定了,所以一共需要n-1趟。

int main()
{int a[3] = { 0 };int i = 0;int j = 0;int t = 0;for (i = 0; i < 3; i++){scanf("%d", &a[i]);//输入三个数字}for (i = 1; i < 3; i++)//三个数,当两个数确定了位置,最后一个也就确定了。所以需要两趟。{for (j = 0; j < 3-i ; j++){if (a[j] < a[j + 1])//两个相邻的元素进行比较,第一趟完后,最小的数就在末尾了{                   //类推下去。每一趟最小的都在最后,顺序就排好了t = a[j];a[j] = a[j + 1];a[j + 1] = t;}}}for (i = 0; i < 3; i++){printf("%d ", a[i]);//打印从大到小的数}return 0;
}

二.输入多个学生的多个成绩,输出学生们的成绩及总分

        这里我是用了一个二维数组来存取学生们的成绩,   在这里我强调一下用scanf时需要谨慎使用空格( )和换行(\n)。其次就是打印各项成绩及总成绩。

        也可以用一个一维数组,用二维数组更占空间,但二维数组更方便一些。

int main()
{int i = 0;int j = 0;float sum = 0.0f;float arr[5][5] ;for (i = 0; i < 5; i++){for (j = 0; j < 5; j++){scanf("%f", &arr[i][j]);//输入多个学生的多项成绩}}for (i = 0; i < 5; i++){for (j = 0; j < 5; j++){printf("%.1f ", arr[i][j]);//打印学生的各个成绩sum += arr[i][j];//累加计算总成绩}printf("%.1f\n", sum);//打印一个学生的总成绩sum = 0;//初始化}return 0;
}

三. 多组数据比较两个数的大小关系 

       我一开始做这题程序只能运行一组数据,当时也没有理解多组数据什么意思,后面理解了,所以想记录一下这道题。想要多组数据可以这样写: 

int main()
{int a = 0;int b = 0;while (scanf("%d %d", &a, &b) == 2)//重点在这行代码,也可以写成 != EOF{if (a > b)printf("%d>%d\n",a,b);else if (a < b)printf("%d<%d\n",a,b);elseprintf("%d=%d\n",a,b);}return 0;
}

 打印scanf数值取决于输入的个数,如下图:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序引入自定义子组件报错,在 C:/Users/***/WeChatProjects/miniprogram-1/components/路径下***

使用原生小程序开发时候&#xff0c;会报下面的错误&#xff0c; [ pages/button/button.json 文件内容错误] pages/button/button.json: [“usingComponents”][“second-component”]: “…/…/components/second-child/index”&#xff0c;在 C:/Users/***/WeChatProjects/m…

Infinitar链游新发展新机遇

区块链游戏市场在近年来经历了显著增长&#xff0c;吸引了大量的投资和关注。随着加密货币和NFT&#xff08;非同质化代币&#xff09;概念的普及&#xff0c;越来越多的投资者、游戏开发者和看到了区块链技术在游戏领域的应用潜力&#xff0c;纷纷涌入市场。区块链游戏的用户量…

电脑虚拟摄像头怎么使用?电脑摄像头可以被虚拟摄像头替代吗?8款推荐!

在数字化日益普及的今天&#xff0c;视频通话和在线会议已成为我们生活和工作中不可或缺的一部分。然而&#xff0c;当我们的电脑没有配备摄像头&#xff0c;或摄像头出现故障时&#xff0c;我们可能会面临一些不便。这时&#xff0c;电脑虚拟摄像头便成为了一个实用的解决方案…

Python中JSON处理技术的详解

引言 JSON&#xff08;JavaScript Object Notation&#xff09;作为当前最流行的数据传输格式&#xff0c;在Python中也有多种实现方式。由于JSON的跨平台性和简便易用性&#xff0c;它在数据交互中被广泛应用。本文将重点讨论如何熟练应用Python的JSON库&#xff0c;将JSON数…

概率论习题

泊松分布习题 假设你在医院值班&#xff0c;每天需要安保人员出动的次数N~P(1),则关于任一天安保人员出动次数&#xff1a; A&#xff1a;出动一次的概率是多少 B&#xff1a;出动次数小于等于一次的概率为 C&#xff1a;出动次数小于一次的概率为 D&#xff1a;若随机事件发生…

在表格中选中el-radio后, 怎么获取选中的这一行的所有数据?

演示: 图中, 选中这行数据后, 怎么获取到当前的数据? 代码: <tr v-for"item in gridData"><td><input type"radio" v-model"checkout" change"getDateFn" :data-type"item.articleType" :data-channelNam…

UE5 视频播放(自动播放和自动清除MediaTexture)

媒体播放器的打开时播放和媒体纹理的自动清除 。 在UE5开发视频播放时&#xff0c;遇到了闪帧的现象。合理选择这两个功能可解决。

71.WEB渗透测试-信息收集- WAF、框架组件识别(11)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;70.WEB渗透测试-信息收集- WAF、框架组件识别&#xff08;10&#xff09;-CSDN博客 如果有…

基于门控循环单元 GRU 实现股票单变量时间序列预测(PyTorch版)

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

深入了解线程锁的使用及锁的本质

文章目录 线程锁的本质局部锁的使用 锁的封装及演示线程饥饿问题 线程加锁本质可重入和线程安全死锁问题 根据前面内容的概述, 上述我们已经知道了在linux下关于线程封装和线程互斥,锁的相关的概念, 下面就来介绍一下关于线程锁的一些其他概念. 线程锁的本质 当这个锁是全局的…

6800和8080单片机读写时序和液晶屏接口

前言&#xff1a; 随着单片机发展&#xff0c;集成度越来越高&#xff0c;因此目前单片机较少使用RD和WR信号操作外设&#xff0c;因此很多时候&#xff0c;变成了6800和8080单片机读写液晶屏了。早期的读写本质上是对一个地址进行即时的操作&#xff0c;现在可能是等数据送到…

打开excel时弹出stdole32.tlb

问题描述 打开excel时弹出stdole32.tlb 如下图&#xff1a; 解决方法 打开 Microsoft Excel 并收到关于 stdole32.tlb 的错误提示时&#xff0c;通常意味着与 Excel 相关的某个组件或类型库可能已损坏或不兼容。 stdole32.tlb 是一个用于存储自动化对象定义的类型库&#x…

PowerShell install 一键部署mysql 9.0.0

mysql 前言 MySQL 是一个基于 SQL(Structured Query Language)的数据库系统,SQL 是一种用于访问和管理数据库的标准语言。MySQL 以其高性能、稳定性和易用性而闻名,它被广泛应用于各种场景,包括: Web 应用程序:许多动态网站和内容管理系统(如 WordPress)使用 MySQL 存…

生产环境中秒杀接口并发量剧增与负载优化策略探讨

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; 目录 引言 1. 实施限流措施 1.1 令牌桶算法&#xff1a; 1.2 漏…

Qt Creator仿Visual Studio黑色主题

转自本人博客&#xff1a;Qt Creator仿Visual Studio黑色主题 1.演示 配置文件和步骤在后面&#xff0c;先看成品&#xff0c;分别是QWidget和QML的代码编写界面&#xff1a; 2. 主题配置文件 下载链接&#xff1a;QtCreator _theme_VS_dark.xml 也可以自己新建一个xml文件&…

指定地区|教培老师自费赴美国首都华盛顿特区乔治敦大学访问交流

W老师将出国访学目标定在美国东西部城市&#xff0c;但其学术背景薄弱&#xff0c;没有论文等科研成果&#xff0c;只有教研培训经历。我们在申请时扬长避短&#xff0c;突出优势&#xff0c;效果显著。最终获得了首都华盛顿特区的乔治敦大学访问学者offer。该市拥有多所优质公…

LLM - 词向量 Word2vec

1. 词向量是一个词的低维表示&#xff0c;词向量可以反应语言的一些规律&#xff0c;词意相近的词向量之间近乎于平行。 2. 词向量的实现&#xff1a; &#xff08;1&#xff09;首先使用滑动窗口来构造数据&#xff0c;一个滑动窗口是指在一段文本中连续出现的几个单词&#x…

零信任网络安全

随着数字化转型的发生&#xff0c;网络边界也在不断被重新定义&#xff0c;因此&#xff0c;组织必须使用新的安全方法重新定义其防御策略。 零信任是一种基于“永不信任&#xff0c;永远验证”原则的安全方法&#xff0c;它强调无论在公司内部或外部&#xff0c;任何用户、设…

ST Smart Things Sentinel:一款针对复杂IoT协议的威胁检测工具

关于ST Smart Things Sentinel ST Smart Things Sentinel&#xff0c;简称ST&#xff0c;是一款功能强大的安全工具&#xff0c;广大研究人员可以使用该工具检测物联网 (IoT) 设备使用的复杂协议中的安全威胁。 在不断发展的联网设备领域&#xff0c;ST Smart Things Sentinel…

【人工智能】-- 搜索技术(状态空间法)

个人主页&#xff1a;欢迎来到 Papicatch的博客 课设专栏 &#xff1a;学生成绩管理系统 专业知识专栏&#xff1a; 专业知识 文章目录 &#x1f349;引言 &#x1f348;介绍 &#x1f349;状态空间法 &#x1f348;状态空间的构成 &#x1f34d;状态 &#x1f34d;算符…