C语言程序题(一)

news2024/10/2 10:35:27

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

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

中间变量比较和交换

       无论多乱顺序三个数之间都要进行比较(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);
            else
               printf("%d=%d\n",a,b);
        }
    return 0;
}

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

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

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

相关文章

【UE5.3】笔记9

1、如何将BSP笔刷转换为静态网格体&#xff1f; 在笔刷的细节的高级里面找到创建静态网格体&#xff1b; 2、如何将自己创建的一个由多个网格体或其他组件组合成的道具转换为个整体即蓝图类&#xff1f;---即把多个Actor转换成蓝图类 选中所要整合的对象&#xff0c;要全选中…

js原型和类---prototype,__proto__,new,class

原型和原型链 在js中&#xff0c;所有的变量都有原型&#xff0c;原型也可以有原型&#xff0c;原型最终都指向Object 什么是原型 在js中&#xff0c;一个变量被创建出来&#xff0c;它就会被绑定一个原型&#xff1b;比如说&#xff0c;任何一个变量都可以使用console.log打…

数据结构 Java DS——链表部分经典题目 (1)

前言 笔者计划在暑假啃完JavaDS,Mysql的内容当然也会继续更 这次给读者们分享的是链表的几个比较典型的题目,关于如何手搓一个链表,笔者还在筹划中, 毕竟链表的种类也有那么多,但是在下面的题目中,只有单向链表 题目一 : 反转链表 206. 反转链表 - 力扣&#xff08;LeetCode…

文献笔记|综述|When Large Language Model Meets Optimization

When Large Language Model Meets Optimization 题目&#xff1a;当大型语言模型遇到优化时 作者&#xff1a;Sen Huang , Kaixiang Yang , Sheng Qi and Rui Wang 来源&#xff1a;arXiv 单位&#xff1a;华南理工大学 文章目录 When Large Language Model Meets Optimization…

java:字符缓冲流特有功能

BufferedWriter&#xff1a; void newLine&#xff08;&#xff09;&#xff1a;写一行行分隔符&#xff0c;行分隔符字符串由系统属性定义 BufferedReader&#xff1a; public String readLine&#xff08;&#xff09;&#xff1a;读一行文字&#xff0c;结果包含行的内容的字…

Mosh|初学者 SQL 教程

sql文件链接&#xff1a;链接: https://pan.baidu.com/s/1okjsgssdxMkfKf8FEos7DA?pwdf9a9 提取码: f9a9 在mysql workbench 导入 create_databases.sql 文件&#xff0c;下面是运行成功的界面 快捷方式&#xff1a;全部运行可以同时按下controlcommandenter &#xff0c;或者…

rsync远程同步--累了,明天继续再写~。

rsync官网链接 rsync(Remote Sync,远程同步)开源快速备份工具&#xff0c;是一个用于本地和远程文件同步的Unix-like命令行程序。它使用“快速数据传输算法”&#xff0c;只发送源和目标之间的差异&#xff0c;因此数据传输非常高效。 可以在不同主机之间镜像同步整 个目录树…

基于网络编码的 tcp 变种-tcp/nc

tcp/nc 是指 “tcp with network coding”&#xff0c;是一种结合了网络编码技术的 tcp 变种&#xff0c;网上资源很少&#xff0c;我也不准备多介绍&#xff0c;只介绍它的核心。 传统 tcp 在演进过程中一直搞不定效率问题&#xff0c;网络带宽在增长&#xff0c;cpu 却没有变…

Python学习中使用循环(for, while)

在Python编程语言中&#xff0c;循环是一个非常重要的概念&#xff0c;可以帮助我们在代码中重复执行某些操作。Python支持两种主要的循环结构&#xff1a;for 循环和 while 循环。 1. for 循环 for 循环用于遍历一个序列&#xff08;如列表、元组、字符串&#xff09;或其他…

自动化数据集成的BI工具,为你提供决策洞察力

传统的商业智能&#xff08;BI&#xff09;报表系统采用的是“业务提报表需求&#xff0c;IT进行开发”的模式。决策管理者和业务人员提出用报表等来展示经营管理数据的需求&#xff1b;接着IT响应需求&#xff0c;进行需求沟通、数据处理加工、报表开发等主体工作&#xff1b;…

南方科技大学马永胜教授给年轻人使用AI工具上的建议

摘要 - 1. AI的未来&#xff0c;是机器人和机器人之间的合作&#xff1b; 2. 行业的发展方向是需求决定的&#xff0c;不要做同质化的发展&#xff0c;要做专/精/特/新&#xff1b; 3. 新质生产力 &#xff08; 科学技术革命性突破 生产要素创新型配置 产业深度转型升级&…

Text Control 控件教程:在 .NET 中打印 MS Word DOCX 文档

虽然有用于创建 DOCX 文件的库&#xff08;例如 Open XML SDK&#xff09;&#xff0c;但打印又是另一回事。打印 DOCX 文件的唯一方法是在 Microsoft Word 中打开它并手动打印。对于需要打印大量文档的 Web 应用程序或需要自动打印文档的服务器端应用程序来说&#xff0c;这不…

CSS相对定位和绝对定位的区别

CSS相对定位和绝对定位的区别 区别1&#xff1a;相对的对象不同 相对定位是相对于自己绝对定位是相对于离自己最近的有定位的祖先 区别2:是否会脱离文档流 相对定位不会脱离文档流&#xff0c;不会影响其他元素的位置绝对定位会脱离文档流&#xff0c;会影响其他元素的布局 代…

人与机器的协同是强弱系统的互补行为

人与机器的协同可以被视作强弱系统的互补行为&#xff0c;这也强调了人类和机器之间在处理问题、执行任务或创造价值时各自的优势与角色。 人类在认知、创造力、情感和伦理等方面具有独特优势。我们能够进行高级的抽象思维、创新和复杂决策&#xff0c;能够处理不确定性和动态环…

realloc调整栈帧

同样的&#xff0c;也仅仅是记录自己学习的记录、思考。 优秀的学习文章 使用realloc函数来调整栈帧让one_gadget生效 | ZIKH26 调试分析 one_gadget失效 这种都需要自己动手调试来看 以经典的libc-2.23的fastbin attack为例 one_gadget libc-2.23.so edit(2,8,p64(mall…

怎样在 PostgreSQL 中优化对大数值类型数据的计算?

文章目录 一、选择合适的数据类型二、索引优化三、查询语句优化四、数据库配置调整五、使用扩展功能六、示例七、总结 在 PostgreSQL 中处理大数值类型数据&#xff08;例如 BIGINT、NUMERIC 等&#xff09;的计算时&#xff0c;可能会遇到性能瓶颈。为了优化这些计算&#xff…

coze搭建工作流和Agent

coze搭建工作流和Agent Agent LLM 记忆感知规划使用工具 LLM是大语言模型&#xff0c;prompt提示词影响LLM的输出质量 描述需求——>背景——>解决思路&#xff0c;提示词文档。 当有明确的需求和实现需求的路径时&#xff0c;可以通过搭建工作流来完成标准化任务为…

从零开始学习嵌入式----Linux系统命令集合与shell脚本

Shell是一门编程语言&#xff0c;作为学习shell的开始&#xff0c;需要事先搞明白&#xff1a;编程的目的是什么&#xff1f;什么是编程语言&#xff1f;什么是编程&#xff1f; shell本身就是一门解释型、弱类型、动态语言&#xff0c;与python相对应&#xff0c;Python属于解…

办公室卫生间厕位引导牌款式多样,都有哪些功能

在现代办公环境中&#xff0c;卫生间不仅是员工日常使用的必需设施&#xff0c;也是体现企业文化和管理水平的一面镜子。然而&#xff0c;传统办公室卫生间往往存在着信息不透明、高峰期拥挤、清洁维护滞后等问题&#xff0c;影响了员工的使用体验。近年来&#xff0c;随着智慧…

0基础学会在亚马逊云科技AWS上搭建生成式AI云原生Serverless问答QA机器人(含代码和步骤)

小李哥今天带大家继续学习在国际主流云计算平台亚马逊云科技AWS上开发生成式AI软件应用方案。上一篇文章我们为大家介绍了&#xff0c;如何在亚马逊云科技上利用Amazon SageMaker搭建、部署和测试开源模型Llama 7B。下面我将会带大家探索如何搭建高扩展性、高可用的完全托管云原…