求大神解答~!!!
#include<stdio.h>#include<math.h>
int compare(int b[],int n);
int main()
{
int a,i,j;
printf("input a:\n");
for(i=0;i<5;i++)
{
scanf("%d",&a);
}
printf("output:\n");
compare(a,5);
for(i=0;i<5;i++)
{
printf("%d,",a);
}
printf("\n");
}
int compare(int b[],int n)
{
int i,j,k,temp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(b<b)
k=j;
temp=b;
b=b;
b=temp;
}
}
}
为什么我输入 1 6 5 4 88 输出却是1 5 6 4 88???求大神解答啊 啊啊 ~~! 兄弟你写过多少C的程序啦。。。
if判断语句为什么不加{}呀
以后无论分支结构后面有一句也好,多句也好,都把{}加上
还有你的冒泡排序写的我不是很懂呀,多设一个变量k是干什么用的,直接用i不好么
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(b<b)
{
temp=b;
b=b;
b=temp;
}
}
}
还有compare(int b[],int n)这个函数明明没有返回值,为什么定义为int类型的 shuofxz 发表于 2016-3-28 17:52
兄弟你写过多少C的程序啦。。。
if判断语句为什么不加{}呀
以后无论分支结构后面有一句也好,多句也好, ...
小弟刚学不久,用的是DEV X++ 只能设为INT不能用VOID的。。
对呀,好像没有这个K也行哦~~可是我的问题还没解决,,- -!! 怎么会输出这个 你真的有按照我说的改么=。=
我用的也是dev C++呀,改成void也没问题呀
我建议你还是先自己捋一遍到底哪错了,再看我的答案吧
#include<stdio.h>
#include<math.h>
void compare(int b[],int n);
int main()
{
int a,i,j;
printf("input a:\n");
for(i=0;i<5;i++)
{
scanf("%d",&a);
}
printf("output:\n");
compare(a,5);
for(i=0;i<5;i++)
{
printf("%d,",a);
}
printf("\n");
}
void compare(int b[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(b<b)
{
temp=b;
b=b;
b=temp;
}
}
}
}
页:
[1]