输入数字之后,就不动了,卡这了
#include <stdio.h>
int main()
{
int a[15];
int i,j,t;
for(i=0;i<15;i++)
{
scanf("%d",&a[i]);
}
//冒泡排序
for(i=0;i<15-1;i++)//n个数的数列总共扫描n-1次
{
for(j=0;j<15-i-1;j++)//每一趟扫描到a[n-i-2]与a[n-i-1]比较为止结束
{
if(a[j]>a[j+1])//后一位数比前一位数小的话,就交换两个数的位置(升序)
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
printf("排列好的数列是:\n");
//输出排列好得吃数列
for(i=0;i<15;i++)
{
printf("%d ",a[i]);
}
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:深入理解计算机系统(原书第3版)
这是一本很深入和方向性的书,每个 CS 学子都应该去读,它会告诉你,要想成为一个优秀的程序员,你应当重点理解哪些计算机底层原理。
其他书籍:
《计算机组成原理与设计》。
计算机组成原理 清华大学刘卫东 全58讲 国家精品课程
https://www.bilibili.com/video/BV1c4411w7nd?p=1
计算机组成原理(哈工大刘宏伟)135讲(全)高清
https://www.bilibili.com/video/BV1t4411e7LH?p=1
现代操作系统(第3版)
本书是操作系统领域的经典之作,讲的全面详细,包括进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。所以也是面试笔试操作系统的宝典。
其他书籍:
《操作系统真象还原》、《30天自制操作系统》。
操作系统(哈工大李治军老师)32讲(全)超清
https://www.bilibili.com/video/BV1d4411v7u7?p=1
2020 南京大学 “操作系统:设计与实现” (蒋炎岩)
https://www.bilibili.com/video/BV1N741177F5?p=1
刚工作的时候第一个项目就是物联网后台服务器软件,网络上也有类似的网络服务程序,比如即时聊天软件的后台服务器,网游服务器,金融交易系统,互联网企业用的分布式海量存储,微博发帖的内部广播通知等等。当然在嵌入式系统上也有移植或维护 TCP/IP 协议栈等等。
熟悉掌握一些网络模型,例如 WINDOWS 系统下使用的 IOCP。Linux系统下使用的 Epoll、select、poll模型。
熟悉一些通用库例如 ocket Server,RPC Framework
内存管理。重载new/delete,内存池,对象池的处理。
内存泄露检测,内存访问越界警惕,内存碎片的回收。
预分配池减少切换和调度,预处理的线程池和连接池,例如数据库连接池等。
多进程编程、多线程编程
五大 IO 模型:同步、异步、阻塞、非阻塞、信号驱动
进程间通信方式: 信号量、管道、共享内存、socket 等
线程安全问题,锁处理、临界资源
负载均衡理念,数据的提前准备和即时计算,如果有耗时的业务可以考虑微服务,负载均衡。
定时器、心跳、定时检查死链接等等
冒泡排序算法是一种简单的排序算法,它的核心思想是通过不断交换相邻的元素,把较大或较小的元素逐渐“冒泡”到数组的一端。为了解决你遇到的问题,你可以按照以下步骤进行排查和修复:
确保你输入的数字在适当的范围内,并且没有输入非数字字符。可以使用代码来验证输入是否是数字,如下所示: ```python def is_numeric(value): try: float(value) return True except ValueError: return False
numbers = input("请输入一组数字,用空格分隔: ").split() valid_numbers = [number for number in numbers if is_numeric(number)] ```
确保你的冒泡排序算法实现正确。冒泡排序的基本思路是通过比较相邻的两个元素,如果它们的顺序不符合要求,则交换它们的位置。你可以使用以下代码作为冒泡排序算法的初始实现: ```python def bubble_sort(numbers): n = len(numbers) for i in range(n-1): for j in range(n-i-1): if numbers[j] > numbers[j+1]: numbers[j], numbers[j+1] = numbers[j+1], numbers[j]
bubble_sort(valid_numbers) ```
在冒泡排序算法的实现中添加一些调试语句,以便定位问题所在。你可以在比较和交换操作之后打印数组的中间结果,如下所示: ```python def bubble_sort(numbers): n = len(numbers) for i in range(n-1): for j in range(n-i-1): if numbers[j] > numbers[j+1]: numbers[j], numbers[j+1] = numbers[j+1], numbers[j] print(numbers)
bubble_sort(valid_numbers) ```
运行代码后,你可以观察到每一次比较和交换操作的结果,以确定算法是否按预期工作。
如果程序没有输出结果,可能是因为你的算法陷入了无限循环。这可能是由于算法实现中的某些逻辑错误导致的。你可以检查冒泡排序算法中的循环条件和循环变量是否正确设置,以确定是否存在无限循环的情况。
如果你尝试了上述步骤但问题仍然存在,可能需要更详细地了解你的代码和输入情况,或者考虑重新设计算法。
代码应该没问题,可能是输入有问题。
如果有用的话,麻烦采纳回答,谢谢·。
代码没看出大问题,你怎么输入的呢,是输入一个数字按下一个回车么
数字和数字是有空格的么