终于开始了

本文介绍了在Ubuntu系统中解决安装Qt遇到的问题及配置虚拟工具的过程。通过解决apt-get锁冲突、设置网络和安装VMware Tools实现共享文件夹等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        这学期培训这么久,,终于有点状态了、

今天把ubuntu弄了下,装了虚拟工具。可以共享文件了。

         还可以上网了,,设置为动态IP,然后再把Network adapter改成NAT就可以了。。

暂时还不知道为什么这样就可以了,,我得继续挖

 

在安装Qt时,用新得立软件包安装时

输入这个命令:

 sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer

 

注意在这个版本的软件包中, qt4-dev-tools  包含了 Qt Assistant Qt Linguist 等工具,因此不需要单独安装这两个工具。其它的, qt4-doc  是帮助文档,包含了 Qt 中各个类库的详细说明以及丰富的例子程序,可以使用 Qt Assistant  工具来打开阅读。 qt4-qtconfig  是配置 Qt 环境的一个对话框,一般默认就行了,很少有必要去更改。 qt4-demos  包含很多可以运行起来的可执行文件以及源代码。 qt4-designer 是用来设计 GUI 界面的设计器。

 

出现如下错误:

E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用)

E: 无法对下载目录加锁

 

原因是:

刚装好的Ubantu系统,内部缺少很多软件源,这时,系统会自动启动软件源更新进程apt-get,并且它会一直存活。由于它在运行时,会占用软件源更新时的系统锁(以下称系统更新锁,此锁文件在/var/lib/apt/lists/目录下),而当有新的 apt-get进程生成时,就会因为得不到系统更新锁而出现"E: 无法获得锁 /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)"错误提示!因此,我们只要将原先的apt-get进程杀死,从新激活新的apt-get进程,就可以让新立德软件管理器正常工作了!

 

也就是把系统更新锁退出就好了。

 

之后就可以了。后来发现

0%【正在连接 archive.ubuntu.com(91.189.92.166)

后来才意识到,自己的Ubuntu还不能上网,,哈哈 闹笑话了。。

 

于是乎,老师那里拿了一个网站,Qt源代码网址。

ftp://ftp.troll.no/qt/source/

qt-x11-opensource-src-4.5.3.tar.gz

 

把它下在window里,利用文件共享,共享到linux中。

于是乎,有一个问题出现了,怎么共享了。

 

经恭发同学启发,在百度了下,终于解决了

大概是这样的

 

点击VMware菜单的-VM-Install VMware Tools

这时,在Ubuntu下会自动加载Linux版的VMware Tools的安装光盘镜像。你会看到虚拟机的桌面上出现了一个名为VMware Tools的光盘图标,并且被自动打开。

打开, 其中包括VMwareTools-xxx-i386.rpmVMwareTools- xxx.tar.gz两个文件。

如果你双击那个 rpm 文件,会提示说不支持的软件包,因为 rpm 是为 RedHat 准备的安装包,我们需要的是 .tar.gz 那个。

2
、把 .tar.gz 文件拷贝而到桌面,右键菜单-解压缩到此处。会自动解压为一个 vmware-tools-distrib 目录。

3、然后在终端里面执行以下命令行:

$ cd Desktop
(要是中文的就是 $ cd 桌面)
$ cd vmware-tools-distrib

$ sudo ./vmware-install.pl

4
、回车之后提示输入管理员密码,然后一路确认回车后(相当于在Windows里安装软件时所填答的诸多对话框,我们这里均采用缺省设置),直到最后出现“Enjoy——the VMware team”的字样后,VMwareTools终于安装完成了。

里面有一个:
Please choose one of the following display sizes that X will start with (1 -
29):  这是选择分辨率的意思,选1024*768

 

这样就装好了虚拟工具,之后,点VM下的settings 。选options 里的shared folderd enabled...就可以在右边选择Window下哪个文件共享了。。

 

 cd /mnt  

ls

就会看到共享目录hgfs

里面就有你要的共享目录了。。。

<think>嗯,用户想实现一个程序,用来计算去掉最高分和最低分后的平均分数。这个问题看起来挺常见的,比如在比赛中评分时经常会用到。我需要先理解用户的具体需求,然后考虑如何用不同的编程语言来实现。 首先,用户可能需要处理一组分数,然后去掉其中的最高分和最低分,再求剩下的平均值。根据之前的引用,比如引用[1]和引用[2],C语言中可以用数组存储分数,然后排序或者遍历找最大最小值。而引用[3]和引用[5]提到Python中使用sum、max、min函数或者更复杂的统计方法。还有引用[4]中的SQL方法,但用户可能更关注编程语言如Python或C的实现。接下来,我需要考虑不同方法的优缺点。比如,排序法虽然直观,但时间复杂度较高,尤其是当数据量大时。而遍历一次同时找出最大最小值的方法更高效,时间复杂度是O(n),适合任何情况。用户可能更倾向于高效的方法,尤其是处理大量数据时。然后,我需要确定函数的输入输出。输入应该是一个分数列表,输出是去掉最高最低后的平均值。需要考虑边界情况,比如分数个数少于2个时怎么办,这时候无法去掉两个分数,可能需要返回错误或者特殊处理。另外,用户可能希望看到不同编程语言的实现,比如Python和C,因为之前的引用中有这两种语言的例子。Python的实现相对简单,可以用内置函数快速处理,而C语言需要手动遍历数组,计算总和、最大值和最小值。在编写代码示例时,要注意代码的清晰和可读性。比如Python中使用sum函数减去max和min,然后除以长度减2。对于C语言,需要遍历数组,记录总和、最大值和最小值,然后计算平均值。同时,要处理可能的除零错误,比如当分数个数小于等于2时,避免除以零的情况。 还需要考虑用户可能的扩展需求,比如去掉多个最高分和最低分,这时候可能需要更复杂的处理,比如排序后取中间部分,或者使用统计函数。但当前问题只要求去掉一个最高和一个最低,所以暂时不需要处理这种情况。 最后,生成相关问题,帮助用户进一步学习,比如如何处理多个最高分和最低分,或者如何用其他语言实现,以及如何处理异常输入等。这些问题可以引导用户深入理解相关概念和应用场景。</think>### 实现步骤与代码示例 计算去除最高分和最低分后的平均分数,核心步骤为: 1. **输入处理**:接收评分数据(数组或列表) 2. **极值定位**:找到最高分$max$和最低分$min$ 3. **数据过滤**:从总分中扣除极值 4. **均值计算**:$\text{平均值} = \frac{\text{总分} - max - min}{\text{总数量} - 2}$ #### Python实现 ```python def trimmed_mean(scores): if len(scores) <= 2: return sum(scores)/len(scores) # 无法去除极值时返回原始均值 total = sum(scores) max_val = max(scores) min_val = min(scores) return (total - max_val - min_val) / (len(scores) - 2) # 示例:输入分数列表 [9,8,7,6,10] print(trimmed_mean([9,8,7,6,10])) # 输出 8.0 ``` #### C语言实现 ```c #include <stdio.h> double trimmed_mean(double scores[], int size) { if (size <= 2) return -1; // 异常处理 double sum = 0, max = scores[0], min = scores[0]; for(int i = 0; i < size; i++) { sum += scores[i]; if(scores[i] > max) max = scores[i]; if(scores[i] < min) min = scores[i]; } return (sum - max - min) / (size - 2); } int main() { double scores[] = {9,8,7,6,10}; printf("%.2f", trimmed_mean(scores, 5)); // 输出 8.00 return 0; } ``` ### 关键说明 1. **极值定位策略**: - 直接遍历数组记录最大值和最小值,时间复杂度$O(n)$[^2] - 比排序法(时间复杂度$O(n \log n)$)更高效[^1] 2. **边界处理**:当评分数量$\leq 2$时,直接返回原始均值或错误提示 3. **数据类型**:使用浮点型保证计算精度[^2] --- ### 扩展应用 - **多极值去除**:若需去除前$k$个最高分和最低分,可先排序后取中间区间数据 ```python def multi_trimmed_mean(scores, k): sorted_scores = sorted(scores) return sum(sorted_scores[k:-k]) / (len(scores) - 2*k) ``` - **动态调整**:使用比例参数控制去除比例(类似Excel的`TRIMMEAN`函数)[^3] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值