出现问题,无法比较,不知道如何解决
`
#include
#include
int main()
{
int a[10];
int i, j, t;
printf("shuru");
scanf_s("%ld", a[10]);
for (i = 0; i < 10 - 1; i++)
for (j = 0; j < 10 - i - 1; j++)
if (a[j] > a[j + 1])
{
t = a[j + 1];
a[j + 1] = a[j];
a[j] = t;
}
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
system("pause");
return 0;
}
修改后的代码如下所示:
#include <stdio.h>
#include<stdlib.h>
int main()
{
int a[10];
int i, j, t;
printf("请输入10个整数:");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
for (i = 0; i < 10 - 1; i++)
for (j = 0; j < 10 - i - 1; j++)
if (a[j] > a[j + 1])
{
t = a[j + 1];
a[j + 1] = a[j];
a[j] = t;
}
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
getchar(); // 或者直接 return 0;
return 0;
}
scanf_s("%ld", a[10]);
这纯粹是在瞎写
要循环,scanf_s("%d", &a[i]);
单从语法来讲,程序出现一处语法错误,就是第8行a[10]为int型,输入符号应该是“%d”, 并且在scanf_s中应该使用取址符号&。应该改为
scanf_s("%d", &a[10]);
然后大致看了下逻辑,好像是一个排序算法,那么最开始是不是应该输入10个原始数字,然后再进行排序
for(int i = 0; i < 10; i ++){
scanf_s("%d", &a[i]);
}
stdio.h是标准输出/输出头文件。英文全程为standard input/out.head。可以简单理解为在这个文件中包含了一些输入和输出的函数。换句话说,要用到printf()和scanf()这两个打印和输入函数,就必须要有这个文件。