大家好!👋 我是一名C语言的学习者,最近在尝试编写一个简单的程序,但是遇到了一些问题,自己调试了很久也没能找到错误所在。😭 希望大家能帮我找找问题出在哪里,非常感谢!
我写的代码是关于数组排序的,功能很简单,就是让用户输入一串数字,然后程序会将这些数字从小到大进行排序。🔢✨ 但是运行的时候总是会出现一些奇怪的结果,感觉像是逻辑上出了什么问题。🧐
如果哪位大佬有空的话,能不能帮我看一下呢?🙏 代码如下:
```c
include
int main() {
int arr[5], temp;
for(int i = 0; i < 5; i++) {
printf("请输入第%d个数字: ", i+1);
scanf("%d", &arr[i]);
}
// 排序算法应该写在这里
for (int j = 0; j < 4; j++) { // 这里应该是5才对吧?
for (int k = 0; k < 4 - j; k++) {
if (arr[k] > arr[k + 1]) {
temp = arr[k];
arr[k] = arr[k + 1];
arr[k + 1] = temp;
}
}
}
printf("排序后的结果为:\n");
for (int l = 0; l < 5; l++) {
printf("%d ", arr[l]);
}
return 0;
}
```
真的非常感谢大家的帮助!希望下次我可以独立解决这样的问题。💪