关于C语言冒泡排序,可以运行但是结果与预期不一致
#include<stdio.h>int main()
{
int i, j, t, a;
printf("请输入5个整数\n");
for(i = 0; i < 5; i++)
{
scanf("%d",&a);
}
printf("\n");
for(j = 0; j < 4; j++)
{
for(i = 0; i < 4 - j; i++)
{
if( a > a)
{
t = a;
a = a;
a = t;
}
}
}
printf("the sorted numbers:\n");
for(i = 0; i < 5; i++)
{
printf("%d",a);
}
printf("\n");
}
跟着小甲鱼的视频打的,实在是找不到哪里有错误了~~ 有什么问题吗,给出你疑惑的 情景 GoldenYH 发表于 2020-11-30 23:04
跟着小甲鱼的视频打的,实在是找不到哪里有错误了~~
第四行
#include<stdio.h>
int main()
{
int i, j, t, a; //这里a写成a了
printf("请输入5个整数\n");
for (i = 0; i < 5; i++)
{
scanf("%d", &a);
}
printf("\n");
for (j = 0; j < 4; j++)
{
for (i = 0; i < 4 - j; i++)
{
if (a > a)
{
t = a;
a = a;
a = t;
}
}
}
printf("the sorted numbers:\n");
for (i = 0; i < 5; i++)
{
printf("%d", a);
}
printf("\n");
} 。你这没啥问题啊 你的程序,我用 VS2015 运行没有问题。由于你没有说清楚,我猜想你是不满意排序方式,我在你的程序标注了,看是不是你想要的
#include<stdio.h>
int main()
{
int i, j, t, a; // 因要输入 5 个整数,定义时这里应该是 5,而不是 4 (从 0 开始到 4 是 5 个元素)
printf("请输入5个整数\n");
for(i = 0; i < 5; i++)
{
scanf("%d",&a);
}
printf("\n");
for(j = 0; j < 4; j++)
{
for(i = 0; i < 4 - j; i++)
{
if( a > a) // 此为从小至大排序,若要从大至小排序,将 > 改为 < 即可
{
t = a;
a = a;
a = t;
}
}
}
printf("the sorted numbers:\n");
for(i = 0; i < 5; i++)
{
printf("%d ",a); // 此处 %d 后面加个空格,数据就不会挤在一堆了
}
printf("\n");
} 风过无痕1989 发表于 2020-12-1 01:37
你的程序,我用 VS2015 运行没有问题。由于你没有说清楚,我猜想你是不满意排序方式,我在你的程序标注了, ...
谢谢,这个问题我看了好久都没发现 昨非 发表于 2020-11-30 23:12
第四行
问题确实在这里,谢谢{:5_108:}
页:
[1]