如图:
#include<stdio.h>
int main()
{
int a[10000],n;
scanf("%d",&n);
int i;
for (i=0;i<n;i++)
{
scanf("%d",a[i]);
}
int t,m;
for (i=0;i<n;i++)
{
if (a[i]>a[i+1])
{
t = a[i];
a[i] = a[i+1];
a[i+1] = t;
}
}
for (int j=0;j<n;j++)
{
if (a[j+1] - a[j] == 1)
{
m=0;
m++;
}
else break;
}
printf("%d",m);
return 0;
}
#include<stdio.h>
int main()
{
int n, i, j;
scanf("%d", &n);
int a[n]; // 你只有n个数, 不用申请10000个空间
for (i = 0;i < n; i++){
scanf("%d", &a[i]);
}
// 如果我没看错, 你是想用冒泡排序, 建议看看冒泡排序的定义
for (i = 0; i < n - 1; i++){
for (j = 0; j < n - i - 1; j ++){
if (a[j] > a[j + 1]){
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (i = 0; i < n; i++)
printf("%d ", a[i]);
// 统计连续数字的个数
int count = 1; // 计数, 本身就算一个
int MAXCount = 0; // 记录最大连续长度
for (i = 1; i < n; i++){
if (a[i] - a[i - 1] == 1)
count += 1;
else{
if (count > MAXCount)
MAXCount = count ; // 收集最大长度
count = 0; // 重新置零计数
}
}
printf("%d",MAXCount);
return 0;
}
你第九行代码 scanf("%d",a[i]);没有加取地址符号 scanf("%d",&a[i]);