屎山代码

屎山代码💩💩💩💩💩

🥳🥳🥳🎉🎉🎉先让我们恭喜这个代码成为了一坨耙耙🥳🥳🥳🎉🎉🎉

背景:

今天我看见了U4-基本类型变量作为函数参数这个标题后,我想这不是普通的函数调用的题目吗?

对于早在U3就开始使用函数调用的我来说,我很有信心能5分钟速通即将到来的题目,想着做完这道题就能马上收拾书包回寝了

然而那时的我并不知道当我做完这道题已经是几点了

于是我选择了中等这个难度,并毫不犹豫的点击了开始,这就是二战转折点,我的人生命运齿轮开始了一次崩坏的转动

首先我看见了没有几行的题目。在我的印象中,C语言的题目越短越好做。但今天,这条定律成了我的墓志铭。

我当时还在窃喜,做这道题可能5分钟都不需要。随后我就看到了这几个字:

第7章实验任务6

我的心态发生了一些小小的变化,不过眼睛并没有在这几个字上停留多久,我开始了读题干

“质因数分解”

当我看见这几个字的时候,不由得觉得眼前发昏,我仿佛看见了太奶在向我招手,求生的本能迫使我点击了题目上方的“此题不会,以后在做”

当我缓过神来,全身上下已经湿透了,包括我的内裤,大概率是因为我尿了。

我颤颤巍巍地起身,拿起我的烟,腿软得像面条,踉跄地走出9203,哆哆嗦嗦地摸出一根细支荷花,手抖地厉害,点了三次火才点着。

猛抽了几口,先是劫后余生的侥幸,随之而来的却是满满的耻辱感。

我思考了很久,这个世界上能打败我的只有女人,一到中等难度的C语言题目,即使再难,也只会当我多掉几根头发罢了!

我掐灭了手里的烟,像是掐死那该死的恐惧,我发誓要将这个题目斩断,切开,剁碎!

我回到了我的电脑面前,打开历史记录,找到这一题,盯着一个一个字地将它读完。来吧,这次不是你死,就是我秃!

先来看题把:

从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出”It is a prime number”。例如,用户输入90时,程序输出90 = 2 * 3 * 3 * 5;用户输入17时,程序输出”It is a prime number”。
输入提示信息:”Input m:”
输入格式:”%d”
输出格式:
是素数时输出”It is a prime number\n”
否则输出用”%d = “,”%d * “
运行示例1:
Input m:90↙
90 = 2 * 3 * 3 * 5
运行示例2:
Input m:13↙
It is a prime number

代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>

int is_prime(int);
void selection(int*, int);

int main(void) {
int m;
int a[100], i = 0;
printf("Input m");
scanf("%d", &m);
if (!is_prime(m)) {
int current = m;
for (int j = 2;!is_prime(current);) {
if (is_prime(j)) {
if (current % j == 0) {//找到了一个
current = current / j;
a[i] = j;
i++;
j = 2;
}
else {
j++;
}
}
else {
j++;
}
if (is_prime(current)) {
a[i] = current;
}
}
selection(a, i);
printf("%d = ", m);
for (int k = 0;k <= i;k++) {
if (k == i) {
printf("%d", a[k]);
}
else {
printf("%d * ", a[k]);
}
}
}
else {
printf("It is a prime number\n");
}
return 0;
}

int is_prime(int m) {
for (int i = 2;i <= sqrt(m);i++) {
if (m % i == 0) {
return 0;//不是质数
}
}
return 1;
}

void selection(int a[], int n) {
for (int i = 0;i < n - 1;i++) {
int min = i, temp;
for (int j = i + 1;j < n;j++) {
if (a[j] < a[min]) {
min = j;
}
}
if (min != i) {
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
}

屎山代码
http://example.com/2025/11/30/屎山代码/
作者
王柏森
发布于
2025年11月30日
许可协议