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.mzph.cn/diannao/43994.shtml

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

相关文章

车载聚合路由器应用场景分析

乾元通QYT-X1z车载式1U多卡聚合路由器&#xff0c;支持最多8路聚合&#xff0c;无论是应急救援&#xff0c;还是车载交通&#xff0c;任何宽带服务商无法覆盖的区域&#xff0c;聚合路由器可提供现场需要的稳定、流畅、安全的视频传输网络&#xff0c;聚合路由器可无缝接入应急…

Dify中的weaviate向量数据库操作

一.安装weaviate客户端 1.Dify 0.6.9中weaviate信息 在Dify 0.6.9版本中weaviate容器信息如下: # The Weaviate vector store. weaviate:image: semitechnologies/weaviate:1.19.0restart: alwaysvolumes:# Mount the Weaviate data directory to the container.- ./volume…

【操作系统】进程管理——信号量机制(个人笔记)

学习日期&#xff1a;2024.7.9 内容摘要&#xff1a;信号量机制&#xff0c;用信号量实现进程的同步与互斥 信号量机制 信号量的概念 在上节内容中&#xff0c;我们学习了进程互斥的软件和硬件解决方案&#xff0c;但这些方案都有各自的问题&#xff0c;双标志法都因为检查和…

【自用】【高昆轮概率论与数理统计笔记】2.1 分布函数的概念与性质

不定期更新&#xff0c;前面的章节会在学完后补回来&#xff0c;重新学学概率&#xff0c;当年考研考的数学二&#xff0c;没有概率基础&#xff0c;想自己补补&#xff0c;视频课是高昆轮老师讲的浙大四版概率论教材的视频课&#xff0c;地址&#xff1a; 第一章&#xff1a;h…

数据库MySQL---基础篇

存储和管理数据的仓库 MySQL概述 数据库相关概念 数据库&#xff08;DataBase&#xff09;---数据存储的仓库&#xff0c;数据是有组织的进行存储 数据库管理系统&#xff08;DBMS&#xff09;-----操纵和管理数据库的大型软件 SQL----操作关系型数据库的编程语言&#xff…

Python:安装/Mac

之前一直陆陆续续有学python&#xff01;今天开始&#xff01;正式开肝&#xff01;&#xff01;&#xff01; 进入网站&#xff1a;可能会有点慢&#xff0c;多开几个网页 https://www.python.org 点击下载&#xff0c;然后进入新的页面&#xff0c;往下滑 来到File&#xff0…

实时温湿度监测系统:Micropython编码ESP32与DHT22模块的无线数据传输与PC端接收项目

实时温湿度监测系统 前言项目目的项目材料项目步骤模拟ESP32接线连接测试搭建PC端ESP32拷录环境对ESP32进行拷录PC端搭建桌面组件本地数据接收桌面小组件部分 实验总结 前言 人生苦短&#xff0c;我用Python。 由于我在日常工作中经常使用Python&#xff0c;因此在进行该项目…

基于java+springboot+vue实现的校园二手书交易平台(文末源码+Lw)287

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自…

如何构建数据驱动的企业?爬虫管理平台是关键桥梁吗?

一、数据驱动时代&#xff1a;为何选择爬虫管理平台&#xff1f; 在信息爆炸的今天&#xff0c;数据驱动已成为企业发展的核心战略之一。爬虫管理平台&#xff0c;作为数据采集的第一站&#xff0c;它的重要性不言而喻。这类平台通过自动化手段&#xff0c;从互联网的各个角落…

windows的远程桌面连接docker

1. Docker容器中运行远程桌面服务 (RDP)&#xff1a;您的Docker容器需要安装和运行远程桌面服务。通常&#xff0c;远程桌面服务在Windows操作系统上可用。如果您使用的是Linux容器&#xff0c;则需要安装一个支持RDP协议的桌面环境和RDP服务器。 2. 开放RDP端口&#xff1a;通…

什么是RPC?有哪些RPC框架?

定义 RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;是一种允许运行在一台计算机上的程序调用另一台计算机上子程序的技术。这种技术屏蔽了底层的网络通信细节&#xff0c;使得程序间的远程通信如同本地调用一样简单。RPC机制使得开发者能够构建分…

【常见开源库的二次开发】一文学懂CJSON

简介&#xff1a; JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式。它基于JavaScript的一个子集&#xff0c;但是JSON是独立于语言的&#xff0c;这意味着尽管JSON是由JavaScript语法衍生出来的&#xff0c;它可以被任何编程语言读取和生成…

01 | 基础架构:一条SQL查询语句是如何执行的?

此系列文章为极客时间课程《MySQL 实战 45 讲》的学习笔记&#xff01; 引言 在了解 SQL 查询语句如何执行之前&#xff0c;先了解下MySQL 的基本架构示意图。 MySQL 分为 Server 层和引擎层。 Server 层包括连接器、查询缓存、分析器、优化器、执行器等&#xff0c;涵盖 M…

uniapp自动升级

一、创建云服务空间&#xff08;https://unicloud.dcloud.net.cn&#xff09; 云空间用于关联需要版本控制升级的项目&#xff0c;如果已拥有云空间则省略此步骤。 二、搭建 uni升级中心 - 后台管理系统&#xff08;升级中心 uni-upgrade-center - Admin&#xff09; uni-adm…

Apache部署与配置

概述 介绍 Apache HTTP Server(简称Apache)是Apache的一个开源的网页服务器&#xff0c;它源自NCSAhttpd服务器&#xff0c;并经过多次修改和发展&#xff0c;如今已经成为全球范围内广泛使用的Web服务器软件之一 特点 跨平台&#xff1a;可以运行在几乎所有广泛使用的计算机平…

Apache中使用SSI设置

先停服务在修改httpd.conf&#xff0c;备份下 Apache\Apache24\conf 设置httpd.conf LoadModule ssl_module modules/mod_ssl.so 取消该命令前的注释符# AddType text/html .shtml AddOutputFilter INCLUDES .shtml 取消该命令前的注释符# 加入html AddType text/html .…

前端javascript中的排序算法之插入排序

插入排序&#xff08;Selection Sort&#xff09;基本思想&#xff1a; 插入排序每次排一个数组项&#xff0c;以此方式构建最后的排序数组。假定第一项已经排序了&#xff0c;接着&#xff0c; 它和第二项进行比较&#xff0c;第二项是应该待在原位还是插到第一项之前呢&#…

软件工具网站推荐

1.菜鸟工具 菜鸟工具 - 不止于工具菜鸟工具&#xff0c;为开发设计人员提供在线工具&#xff0c;网址导航&#xff0c;提供在线PHP、Python、 CSS、JS 调试&#xff0c;中文简繁体转换&#xff0c;进制转换等工具。致力于打造国内专业WEB开发工具&#xff0c;集成开发环境&…

详细谈谈负载均衡的startupProbe探针、livenessProbe探针、readnessProbe探针如何使用以及使用差异化

文章目录 startupProbe探针startupProbe说明示例配置参数解释 使用场景说明实例——要求&#xff1a; 容器在8秒内完成启动&#xff0c;否则杀死对应容器工作流程说明timeoutSeconds: 和 periodSeconds: 参数顺序说明 livenessProbe探针livenessProbe说明示例配置参数解释 使用…

CSS技巧专栏:一日一例 1.纯CSS实现 会讨好的热情按钮 特效

题外话: 从今天开始,我准备开设一个新的专栏,专门写 使用CSS实现各种酷炫按钮的方法,本专栏目前准备写40篇左右,大概会完成如下按钮效果: 今天,我来介绍第一个按钮的实现方法:会讨好的热情按钮。为什么我给它起这样的名字呢?你看它像不像一个不停摇尾巴的小黄?当你鼠…