本帖最后由 风过无痕1989 于 2020-12-4 10:03 编辑
不好意思,昨天编译软件坏了,程序写好后,没有经过调试。现修改为调试后的程序:#include<stdio.h>
int main()
{
int i = 0, j, m = 0, temp;
int a[2][7];
do
{
scanf_s("%d", &a[0][i]);
a[1][i] = a[0][i]; // 将接收到的成绩复制到第 2 行
m = a[1][i];
i++;
} while (m != -1);
for (i = 0;i < 6;i++) // 对第一行进行排序
{
for (j = 0;j < 5;j++)
{
if (a[0][j] > a[0][j + 1])
{
temp = a[0][j];
a[0][j] = a[0][j + 1];
a[0][j + 1] = temp;
}
}
}
for (i = 0;i < 6;i++) // 排序后,a[0][0] 自然就是最小的
{
if (a[0][0] == a[1][i]) // a[0][0] 与 a[1][i] 交换位置
{
a[0][1] = a[1][0]; // 将 a[1][0] 暂存于 a[0][1]
a[1][0] = a[0][0]; // 将最小的数 a[0][0] 存于 a[1][0]
a[1][i] = a[0][1]; // 将暂存于 a[0][1] 的数存于 a[1][i]
break;
}
}
for (i = 0;i < 6;i++) // 输出第 2 行的数
{
printf("%d ", a[1][i]);
}
printf("\n");
}
|