上大学学学习,上班班用不到

[quote="抛出异常的爱"][quote="2010-淡定"]
为什么我大学里学的东西都用不上?
是我不会用吗?
还是根本没学透?
还是没到用的时候?
还是那时候就应该边学边用?
是不是我实践能力太差不会用?
这个是怎么回事。。。。
理论和实践要靠什么打通?
ps:有些东西确实是有用的,但就是用不起来 学以致用啊 毛病出在哪?[/quote]
1.用不上才可以更好的学习.
如果与现实太接近那么就太复杂了
不纯粹,不美,不好记住最核心的问题了.

2.你学习的东西都是纯粹的,
所以也是很难用在实践中的.

3.学习是为了让你知道XX不可行,YY可行.
不能告诉你在这两条线之间的众多的路你要怎么选

4.时时都在用.
每当需要用常识分析的问题
(没有前人作过或).
常识都是在学校中学到的.
当然大多数时候会错
但总的方向不太错
做一些尝试总比没办法会更好一些.

5.学习就学习.体会理想状态.
当你发现现实与理想有差别时你会发动你的智慧让现实更接近理想状态.
这才是进行实践应该的目的,

6.有人认为与现实妥协的能力才是实践的目的.
我不这么认为.
当然如果不妥协就会更痛苦.....就像你这个样子

7对于怎么用起来只能说多想想办法,
去学习更多的办法来达到(或是接近)理想状态
满足感是不能用语言表达的.[/quote]
根据需求,以下是一个用C语言实现的程序,该程序可以根据输入的小朋友编号和是否同标志将小朋友按级分开并输出,输出需满足特定格式要求,若输入不符合要求则输出`ERROR`: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STUDENTS 999 // 比较函数,用于qsort排序 int compare(const void *a, const void *b) { return (*(int *)a - *(int *)b); } int main() { int class1[MAX_STUDENTS]; int class2[MAX_STUDENTS]; int count1 = 0; int count2 = 0; int currentClass = 1; int id; char flag; // 读取输入 while (scanf("%d/%c", &id, &flag) == 2) { if (id <= 0 || id > 999) { printf("ERROR\n"); return 0; } if (currentClass == 1) { class1[count1++] = id; } else { class2[count2++] = id; } if (flag == 'N') { currentClass = 3 - currentClass; // 切换级 } } // 对两个级的编号进行排序 qsort(class1, count1, sizeof(int), compare); qsort(class2, count2, sizeof(int), compare); // 确定哪个级的第一个编号更小 if (count1 > 0 && count2 > 0 && class1[0] > class2[0]) { // 交换两个级 int *temp = class1; class1 = class2; class2 = temp; int tempCount = count1; count1 = count2; count2 = tempCount; } // 输出第一个级 for (int i = 0; i < count1; i++) { if (i > 0) { printf(" "); } printf("%d", class1[i]); } printf("\n"); // 输出第二个级 for (int i = 0; i < count2; i++) { if (i > 0) { printf(" "); } printf("%d", class2[i]); } printf("\n"); return 0; } ``` ### 代码解释 1. **输入读取**:程序通过`scanf`函数读取输入,每次读取一个小朋友的编号和是否同标志。 2. **分处理**:使用`currentClass`变量来记录当前小朋友所在的级,根据标志`N`或`Y`来切换级。 3. **排序**:使用`qsort`函数对两个级的编号进行升序排序。 4. **输出**:根据要求,将第一个编号小的级排在第一行输出,第二个级排在第二行输出。 ### 复杂度分析 - **时间复杂度**:排序操作的时间复杂度为$O(n log n)$,其中$n$是小朋友的总数。 - **空间复杂度**:主要使用了两个数组来存储两个级的编号,空间复杂度为$O(n)$。 ### 示例输入输出 - **输入**:`1/N 2/Y 3/N 4/Y` - **输出**: ``` 1 2 3 4 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值