作者gogoabc (神阿 请给我一点体重)
看板C_and_CPP
标题[问题] 泡泡排序法
时间Fri May 10 22:57:05 2019
开发平台(Platform): (Ex: Win10, Linux, ...)
win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Dev C++
问题(Question):
使用者输入五个数字後 将数字由小排到大 程式可执行
但执行出来的结果不是正确答案 不知道哪里错了
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
#include<stdio.h>
void bubble(int[]);
int main(){
int v[5],i;
for(i=0;i<=4;i++){
printf("%d:",i+1);
scanf("%d",&v[i]);//使用者输入五个数字
}
bubble(v);//呼叫泡泡排序法函式
for(i=0;i<=4;i++){
printf("%d,",v[i]);
}
return 0;
}
//以下是泡泡排序法函式
void bubble(int p[]){
int i,t,j;
for(i=0;i<=4;i++){
for(j=0;j<=4;j++){
if(p[j]>p[j+1]){
t=p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.179.101
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1557500228.A.B0B.html
1F:推 CCWck: 每次交换都印出来结果看看 05/10 23:09
2F:推 CCWck: 至少三个地方有问题,p[j+1]可能存取到p[5] 05/10 23:11
3F:→ gogoabc: 懂了 谢谢!!!! 05/10 23:25
4F:→ timmy999: 我用while做的 05/10 23:27
5F:→ RishYang: 13诫之2 05/11 03:28
6F:→ DLHZ: 建议用codepad之类的 别直接贴上来 05/11 04:02
7F:推 starjack2001: 奇怪 你只是在里面做,但V完全没有变不是吗? 06/14 15:12
8F:→ starjack2001: 也就是说 你换P换得很开心,但是V完全没动到 06/14 15:13
9F:推 starjack2001: 再来是 当j=4的时候 你p[4]跟p[5]会交换,可是p[5] 06/14 15:15
10F:→ starjack2001: 根本就不是你要的东西 06/14 15:15
11F:推 starjack2001: 应该说是根本就不是你有的东西 06/14 15:24